public class Test {
public static void main(String[] args) {
String s = "abc";
StringBuilder sb = new StringBuilder("abc");
System.out.println(s.equals(sb));
// 因为equals是被s调用的,而s是字符串
// 所以equals要看String类的
// 字符串中的equals方法,先判断是否为字符串
// 如果是字符串,再比较内部的属性
// 如果不是字符串直接返回false
System.out.println(sb.equals(s));
// 而sb是StringBuilder
// 所以这里的equals方法要看stringBuilder中的equals方法
// 那么在stringBuilder当中,没有重写equals方法
// 使用的是object中的
// 在object当中默认是使用==号比较两个对象的地址值
// 而这里的s和sb记录的地址值是不一样的,所以结果返回false
}
}
Object中equals的细节
声明:本站所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明来自
BoatZhou!
Java反序列化时修改集合对象的元素会出现ConcurrentModificationException异常
« 上一篇
2023-08-11
Java基础知识点
下一篇 »
2023-07-18
相关文章
还没有评论, 告诉我们你的想法
发表评论