A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马