黑马程序员技术交流社区

标题: 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