java中equals和==的区别是什么
刚开始学习Java中字符串的比较时,可能会对==和equals比较迷茫,今天我就通过一个小例子来简单说明一下equals和==的区别。
操作方法
- 01
首先,定义两个String类变量a和b,然后,把字符串“mimi”赋值给变量a和b。 我们给a赋值的时候就会在内存分配一个地址存放“mimi”。而再次给b赋值的时候,因为内存中已经存在了“mimi”,所以a和b指向的是同一个地址。 而使用new来创建对象“mimi”,就会重新在内存中分配一个地址。 也就是说a和b指向的地址一样,a和c指向的地址不一样。
- 02
接着我们使用输出方法来判断一下他们之间的真假。
- 03
点击工具栏中的运行按钮运行Java程序。
- 04
如图,运行之后,控制台就会出现结果。
- 05
为了更直观,我把结果放到旁边,方便进行讲解。 a==b结果为true(真),而a==c,b==c结果都为false(假),之前说过,a和b地址一样,可见对于比较字符串时,==比较的是地址。 而a.equals(b)和a.equals(c)结果都是true,所以比较字符串时,equals比较的是字符串内容而不是地址。
赞 (0)