当前位置:趣知科普网>游戏数码>IT技术>

java中equals和==的区别是什么

IT技术 阅读(6.07K)

刚开始学习Java中字符串的比较时,可能会对==和equals比较迷茫,今天我就通过一个小例子来简单说明一下equals和==的区别。

操作方法

(01)首先,定义两个String类变量a和b,然后,把字符串“mimi”赋值给变量a和b。我们给a赋值的时候就会在内存分配一个地址存放“mimi”。而再次给b赋值的时候,因为内存中已经存在了“mimi”,所以a和b指向的是同一个地址。而使用new来创建对象“mimi”,就会重新在内存中分配一个地址。也就是说a和b指向的地址一样,a和c指向的地址不一样。

java中equals和==的区别是什么

(02)接着我们使用输出方法来判断一下他们之间的真假

java中equals和==的区别是什么 第2张

(03)点击工具栏中的运行按钮运行Java程序。

java中equals和==的区别是什么 第3张

(04)如图,运行之后,控制台就会出现结果。

java中equals和==的区别是什么 第4张

(05)为了更直观,我把结果放到旁边,方便进行讲解。a==b结果为true(真),而a==c,b==c结果都为false(假),之前说过,a和b地址一样,可见对于比较字符串时,==比较的是地址。而ls(b)和ls(c)结果都是true,所以比较字符串时,equals比较的是字符串内容而不是地址。

java中equals和==的区别是什么 第5张