1. 下面是一个使用equals的例子:
我查看了一下源代码,string类中equals方法的源代码如下:
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = count; if (n == anotherString.count) { char v1[] = value; char v2[] = anotherString.value; int i = offset; int j = anotherString.offset; while (n-- != 0) { if (v1[i++] != v2[j++]) return false; } return true; } } return false; }
我感觉疑问的是这个不是接受的是一个对象吗?为什么我可以传入一个变量呢?(下面是百度所获得的答案)
注意:推荐写equals进行字符串比较,不要写“==”(string类重写了Object的equals方法,比较的是两个变量的内容)