直接贴代码吧:
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){
//*********求解释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;
}
对于anotherString.value.length,最初的想法是用anotherString.length(),但是对于源码中的解释,实在没明白value.length的意思
刚开始看这部分,很多不明白的地方,求解释,先谢过啦
慕的地8271018
equals()方法重写
==和equals()方法
containsValue方法为啥要重写equals方法啊?单独重写hashcode方法不行吗?
java中的equals方法问题
相关分类