本帖最后由 ζ_____________ 于 2014-9-28 23:42 编辑
首先 equals是建立在对象引用的基础上的, 也就是说 null对于 equals来说, 它就是一个非法值性质的东西, 所以遇到 null, equals就会返回 false..
为了验证之前的想法.
我们简单的个例子.
例子1:
Object s1= null;
Object s2 = null;
System.out.println(s1.equals(s2));//NullPointerException
例子2:
public class Test
{
public static void main(String[] args)
{
Object s1 = new Test();
Object s2 = new Test();
Object s3 = s1;
System.out.println(s1.equals(s2)); //false
System.out.println(s1.equals(s3)); //true
}
}
class Test
{
}
这就能看出来. 在Object中的equals方法比较的是两个对象的地址值.
啊啦~刚学基础啦,只能解释到这啦. 希望有用咯.
|