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类型。

浙公网安备 33010602011771号