黑马程序员技术交流社区
标题:
==与equals的区别
[打印本页]
作者:
lanzy1989
时间:
2014-9-18 21:16
标题:
==与equals的区别
==与equals有啥区别???详细的
作者:
ooEye
时间:
2014-9-19 00:27
好多人问过这问题,你可以百度一下,有博客说的很完整的
作者:
Apologize丶
时间:
2014-9-19 09:06
我就知道equals继承==
==比较内存地址值,就知道这些了
作者:
new999
时间:
2014-9-19 09:10
String类改写了equals,比较其字符串的内容
作者:
残羹夜宴丶
时间:
2014-9-19 19:15
冒个泡、 具体区别说不来,慢慢就懂了。
作者:
残羹夜宴丶
时间:
2014-9-19 19:16
冒个泡、 具体区别说不来,慢慢就懂了。
作者:
谢建平
时间:
2014-9-20 05:24
== 比较地址 equals 仅仅只是一个方法 在Objetc 是直接用了== 我们基本上会重写Object 的equals方法
作者:
yueyazhishang
时间:
2014-9-20 08:52
而==比较的内存地址,对于基本数据类型是不需要new 出来的,所以当基本类型数据相等时用==返回的是true。
对应引用型数据,例如String、Integer等等都继承自Object,在Object中equals比较的也是内存地址,但是其子类一般会重写equals方法,这时比较的是对象本身的值而不是内存地址,所以当对象的值相同时返回true,
例如
String s1="abc";
String s2="abc";
s1.equals(s2)
返回true
s1==s2返回false
复制代码
当非基本数据类型通过new产生时其内存地址是不同的,所以当时用==自然返回了false
作者:
李国荧
时间:
2014-9-21 20:37
呵呵……
作者:
卧龙小
时间:
2014-9-22 00:22
如果比较的是普通变量,==操作比较的是变量的值是否相等,如果是引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2