String类中的equals()方法:
1 public boolean equals(Object anObject) 2 { 3 //如果是同一个对象 4 if (this == anObject) 5 { 6 return true; 7 } 8 //如果传递进来的参数是String类的实例 9 if (anObject instanceof String) 10 { 11 String anotherString = (String)anObject; 12 int n = count;//字符串长度 13 if (n == anotherString.count) //如果长度相等就进行比较 14 { 15 char v1[] = value;//取每一个位置的字符 16 char v2[] = anotherString.value; 17 int i = offset; 18 int j = anotherString.offset; 19 while (n-- != 0) //对于每一位置逐一比较 20 { 21 if (v1[i++] != v2[j++]) 22 return false; 23 } 24 return true; 25 } 26 } 27 return false; 28 }
string类的equals()方法如果括号中为另一个对象,则判断两对象是否指向同一地址
(注:当两对象的内容相同时为节省空间Java编译器会将其指向同一地址,若更改其中一个对象,其地址也相应改变)
例如 s1.equals(s2);
如果括号中为一串字符则判断两串字符是否相同。
例如 s1.equals(”abc“);