黑马程序员技术交流社区
标题:
请问equals与==到底有什么区别
[打印本页]
作者:
黑马小夏
时间:
2015-3-8 09:26
标题:
请问equals与==到底有什么区别
经常看到这两个做比较,真分不清什么时候equalsl与==有什么区别?求详细讲解
作者:
杨强彪
时间:
2015-3-8 11:14
只要是对象类型 那么“==”比的都是地址! 只有基本类型 比如说是int float比较的才是值。 equals在默认的情况下 比较的也是对象的地址 只有你的子类重写了equals方法 系统才会按照子类的equals定义比较对象 那为什么String对象equals也可以比较值呢? 原因是String对象已经重写了equals方法
作者:
123412
时间:
2015-3-8 12:07
Object 类中有这个equals方法,仅仅是比较两个变量的内存地址值,其他的类就要看,该类有没有复写Object类中的equals方法,其中String类中复写了这个方法,是比较两个字符串的内容。至于你说的"=="要看比较的双方,
如果是对象,那就是比较内存地址值,如果是基本数据类型,那就是比较内容即值。
作者:
黑马小夏
时间:
2015-3-8 12:38
123412 发表于 2015-3-8 12:07
Object 类中有这个equals方法,仅仅是比较两个变量的内存地址值,其他的类就要看,该类有没有复写Object类 ...
好像明白点了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2