直接贴代码吧: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的意思刚开始看这部分,很多不明白的地方,求解释,先谢过啦
2 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
String
类只是封装字符串的一些操作的,真是的字符串就是存在其下value
这个字符数组中的。而String.length()
的内部实现就是value.length
,所以这里直接使用value
的长度,不用调用String.length()
,也避免了调用方法多余的开销。
添加回答
举报
0/150
提交
取消