<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
之前没发现equals和==有什么不一样,一直在互换着用,直到有一天,一个偶然,哈哈。。。
String s1=new String("789");
String s2=new String("789");
System.out.println("s1.equals(s2)是 "+s1.equals(s2));
System.out.println("s1==s2 是 "+(s1==s2));
String s3="abc";
String s4="abc";
System.out.println("s3.equals(s4)是 "+s3.equals(s4));
System.out.println("s3==s4是 "+(s3==s4));
输出结果:
s1.equals(s2)是 true
s1==s2 是 false
s3.equals(s4)是 true
s3==s4是 true
查阅资料后才知道:String类重写了Object类的equals方法,重写后的equals方法比较的不再是对象的地址,而是字符串的内容,即如果两个字符串一样,则返回true。“==”比较的是对象的地址。
s1与s2指向的是两个独立的对象,他们各自使用new在堆上分配空间,因此地址肯定不相等,所以s1==s2 的值为false,而他们的字符是相等的,所以s1.equals(s2)是true。
String类重写了equals方法,所以比较的是字符内容,有的类没有重写equals方法就依然是比较地址。
初学者,so比较浅显~
分享到:
相关推荐
能够加强对java中equals与==区别的理解。
equals与==之间的区别,记事本详解
java 资料 equals 与== 的区别
【Java面试题】equals与==的区别
equals与==的区别?equals和==有什么区别? Java解惑系列之一--equals和==之间究竟有什么区别 稍微学过一些java的同学都可能在网络上看到这样的一道题: 在java语言当中,equals和==之间究竟有什么区别? 而这道...
java中equals和==的区别.doc java中equals和==的区别.doc
NULL 博文链接:https://771816006-qq-com.iteye.com/blog/1394972
主要介绍了详解 Java 中 equals 和 == 的区别的相关资料,equals 和 == 都是用来检测两个字符串是否相等,返回值也都是布尔型,但是两者在内部比较的处理中却不尽相同需要的朋友可以参考下
主要给大家介绍了关于Java中equals与==的用法和区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
通过例子详细解释java中equals和==区别。实例丰富,适合初学者,便于理解,
Java 中equals和==的区别
java中equals和==的区别.pdf
java中equals和==的比较.pdf
java中equals和==的区别.docx