黑马程序员技术交流社区
标题:
equals()方法和“==”操作符的区别
[打印本页]
作者:
VIP1108210117
时间:
2015-6-13 16:37
标题:
equals()方法和“==”操作符的区别
equals()方法和“==”操作符的区别是什么?重写equals()方法的时候,我们还需要重写哪些方法?为什么?
(1)“==”比较的是一个对象在内存中的地址值,栈中的内容是否相同。
(2) equals()是针对引用的,比较的是引用类型的内容是否一样,堆中的内容是否相同
重写equals()方法的时候,需重写hashcode方法,这样比较的时候,比较的是两个对象的hash值,不同对象的hash值不同。
示例一:
package com.itheima;
public class equals {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s1=new String("sss");
String s2=new String("sss");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
}
}
结果如下:
false
true
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2