public boolean equals(Object anObject) {// ==:比较的引用类型,比较的是地址值是否相同if (this == anObject) { //地址值相等,返回truereturn true;}// instanceOf判断一个对象是不是某个类型的实例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) {// 比较每一个元素,只要有一个元素不想等 返回 falseif (v1[i] != v2[i])return false;i++;}return true;}}return false;
}

总结:String equals()方法思路:先比较地址值是否相等,在比较字符串的长度是否相等,最后对每个字符做一一对应比较。