[共享]通用对象是否相等的比较
通常比较两个对象是否相等,可以采用以下的方法:
public static boolean equals(Object obj1, Object obj2) {
// 如果obj1和obj2是指向同一地址的引用则返回true
// 如果obj1和obj2都等于null则返回true(null==null)
if ( obj1 == obj2 ) {
return true;
}
// 如果obj1或者obj2任何一个对象为null,另一个对象不为null
// 则两个对象肯定不相等,返回false
if ( obj1==null || obj2==null ) {
return false;
}
// 使用obj1的equals方法进行比较
return obj1.equals(obj2);
}
使用"==""操作符比较两个对象是否一个引用效率是非常高的,可以推荐优先使用.
如果看过java.lang.String的源码,equals方法的第一行就是if ( this==string )直接比较是否相等的引用地址.
没有太多的分,给那些能够补充新的意见的朋友.