在java中String类为什么要设计成final?
https://www.zhihu.com/question/31345592
String.equal()方法
对比的是两个字符串的值
在javaJDK中,大部分的equal函数都是先判断对象是不是属于同一类,如果是则比较对象的值是不是相等,如果是则返回相等;在String类中先判断是不是都是String类,再判断数组是不是相等,如果是则返回true;
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;
}