首页 > 其他 > 详细

== 与equals区别

时间:2021-04-26 10:45:32      阅读:20      评论:0      收藏:0      [点我收藏+]

一、"==" 与 equals
下边这段代码应该都看过或者写过:

String str1 = "test";
String str2 = "test";

String str3 = new String("test");
String str4 = new String("test");

System.out.println(str1 == str2);//true
System.out.println(str1.equals(str2));//true
System.out.println(str3 == str4);//false
System.out.println(str3.equals(str4));//true
由于 "==" 进行值比较,则在str1与str2比较为true,而在new String 的str3与str4为false,虽然equals进行的是引用比较,但String中将equals方法重写,来达到进行比较字符串中的值比较。还有 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
————————————————
版权声明:本文为CSDN博主「West Money」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/http_red/article/details/108583174和

https://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html

== 与equals区别

原文:https://www.cnblogs.com/wwwsss/p/14702813.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!