java 中 “==”与equals的区别

“==”判断两个对象在内存中的地址是否相同,即判断是否是同一个对象

equals();则判断比较的两者内容是否相同,如字符串内容是否相同

 

String s1 = "";

String s1 = new String("");

两者有区别,后者不仅会在字符串池创造对象还会在堆内存中创造对象

详细可再参照一下两篇博客:

https://blog.csdn.net/xlantian/article/details/79533321

https://blog.csdn.net/xlantian/article/details/79547064

 

Java中使用StringBuffer类的函数equals()不能比较值相等

因为StringBuffer中没有对equals函数重写,里面相当于是判断是否是同一个对象,即判断是否指向同一个地址,这个时候要比较值是否相等可以转换为String类型。

https://www.cnblogs.com/lyd447113735/p/12514274.html

posted @ 2020-04-06 11:10  Y鱼鱼鱼Y  阅读(161)  评论(0)    收藏  举报