想要彻底了解,除了查api外,还可以看java src。我把它们copy出来
类String中的equals是这样的
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 != v2)
return false;
i++;
}
return true;
}
}
return false;
}
将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
覆盖:类 Object 中的 equals
参数:anObject - 与此 String 进行比较的对象。返回:如果给定对象表示的 String 与此 String 相等,则返回 true;否则返回 false。
类 Object 中的 equals
public boolean equals(Object obj) {
return (this == obj);
}
指示其他某个对象是否与此对象“相等”。
参数:obj - 要与之比较的引用对象。返回:如果此对象与 obj 参数相同,则返回 true;否则返回 false。+++++++++++++++++++++++++
contains:
public boolean contains(CharSequence s) {
return indexOf(s.toString()) > -1;
}
当且仅当此字符串包含指定的 char 值序列时,返回 true。
参数:s - 要搜索的序列
返回:如果此字符串包含 s,则返回 true,否则返回 false |