String 的 equals方法
1.使用equals方法时,如果要对一个string对象进行与常量判断,常量应该放在前面,即"null1".equals(obj),可以少判断一次obj为null的情况
2.String的equals方法是内部实现过一次的
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
根据源码,可以得到另外一个结论,如果一个obj tostring以后等于一个字符串,不代表这个obj可以被直接equals字符串,这样会返回fasle