美文网首页
“==”和“equals”的区别

“==”和“equals”的区别

作者: 丁功春 | 来源:发表于2018-07-10 10:29 被阅读0次

Integer n1 = new Integer(47);      

Integer n2 = new Integer(47);

System.out.println(n1 == n2);       

System.out.println(n1.equals(n2));

打印结果是什么呢?

答案是false和ture。两个Integer 对象虽然都是相同的。但尽管对象的内容相同,句柄却是不同的,而

==和!=比较的正好就是对象句柄。而equals是对比两个对象的实际内容是否相同。

注意!!!equals()的默认行为是比较句柄,因为大多数Java 类库都实现了equals(),所以它实际比较的是对象的内容,而在自己定义的新类中,除非改变了equals(),否则不可能表现出我们希望的行为。


相关文章

  • Java 比较相等

    Java Equals() 特性 Equals() 和 == 的区别 重写Equals方法 重写HashCode方法

  • java 中 String == 原理 equals 和

    == 和equals的区别

  • 【面试1】

    基础 1、equals和==(equals和==的区别)equals:是Object的一个方法,实现对象的比较;复...

  • HashCode和Equals的区别

    HashCode和equals的区别: String方法的equals方法和HashCode方法 String的H...

  • ==和equals

    ==和equals的区别: ==和equals方法都是用来比较两个变量/对象是否相等。 如果没有重写equals方...

  • == 和 equals() 区别

    解释 代码 重写equals方法

  • ==和equals区别

    基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boo...

  • ==和Equals区别

    ==和Equals区别 对于基本数据类型:(byte、short、char、int、float、double、lo...

  • ==和Equals区别

    对于基本数据类型:(byte、short、char、int、float、double、long、boolean),...

  • 微小知识点合集

    1、equals和equalsIgnorecase有什么区别? 在JAVA里面,牵扯到equals和equalsI...

网友评论

      本文标题:“==”和“equals”的区别

      本文链接:https://www.haomeiwen.com/subject/valysftx.html