如若是基本数据类型,那么用==就不会由问题,例如
int n = 3;
int m = 3;
m == n -> true;
如果是引用类型
String str1 = "str";
String str2 = "str";
str1 == str2 -> false
str1.equals(str2) -> true
这是因为引用对象存储的是地址(这里等JVM学完后,再做科学的解释),所以两个不同的对象,地址当然不同
至于equals,在这篇文章中这里,通过分析源代码,发现重写了的equals是返回其对象值的判断
这里得到什么启发呢?
用于判断两个对象是否在本质上是同一个对象
MyClass obj1 = xxx.get();
MyClass obj2 = xxx.get();
obj1 == obj2?