equals方法与==的区别
作者:互联网
1、Object类中的equals方法
public boolean equals(Object obj) { return (this == obj); }
显而易见,自定义的没有重写equals方法的类在使用equals方法时与==没什么差别
2、预定义类中的equals方法
// 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[i] != v2[i]) return false; i++; } return true; } } return false; }
预定义类中的equals方法大多都有自己的算法,如上是String类重写后的equals方法,不仅包含了==的效果,还做了其他的操作,实现了比较字符的效果
标签:return,String,区别,equals,value,anObject,方法 来源: https://www.cnblogs.com/tangp/p/15743165.html