equals 和== 的区别

1.在Object中 equals 和 == 相同,比较栈内存的地址
public boolean equals(Object obj) { return (this == obj);}
2.在String,包装类(泛型)、File中equals被重写
2.1 String比较的是内容
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String) anObject;
int n = count;
if (n == anotherString.count) {
int i = 0;
while (n-- != 0) {
if (charAt(i) != anotherString.charAt(i))
return false;
i++;
}
return true;
}
}
return false;
}

你可能感兴趣的:(equals 和== 的区别)