首页 > 图灵资讯 > java面试题>正文

== 与 equals 有什么区别?

2024-01-18 10:03:34

 

== 与 equals 有什么区别?

  • ==:
    • 用于基本类型比较时,比较值是否相等;
    • 用于引用类型比较时,比较对象的内存地址是否相等。
  • equals:
    • 默认是比较对象的内存地址,但大多数类都会重写equals方法来改变默认的行为,使其比较对象的内容而不是对象的内存地址。比如 string、Integer 重写了equals方法变成比较值是否相等。
@Test
public void compareDemo1() {
    int x = 10;
    int y = 10;
    //比较值相等,true
    System.out.println(x == y); // true

    String str1 = new String("baili");
    String str2 = new String("baili");
    //比较对象内存地址不相同,false
    System.out.println(str1 == str2); // false
    //比较字符相同,true
    System.out.println(str1.equals(str2)); // true
}


 
上一篇 int和Integer有什么区别?
下一篇 final 在 java 中有什么作用?

文章素材均来源于网络,如有侵权,请联系管理员删除。