public boolean equals(Object obj)
的参数不是一个Object 吗?
为什么下面的代码会print true. why????Integer a = new Integer(45);
System.out.println(a.equals(45)); //true
Double b = new Double(45.0);
System.out.println(b.equals(45.0)); //true
System.out.println(b.equals(45)); //false不是说equals只能用于Object对象引用吗? who能帮我解答一下吗?thank you
的参数不是一个Object 吗?
为什么下面的代码会print true. why????Integer a = new Integer(45);
System.out.println(a.equals(45)); //true
Double b = new Double(45.0);
System.out.println(b.equals(45.0)); //true
System.out.println(b.equals(45)); //false不是说equals只能用于Object对象引用吗? who能帮我解答一下吗?thank you
equals确实是Object类的方法,其返回值为boolean型,所以当你从一个对象上调用equals时,它返回的要么是true,要么是false。
这个是从JAVA1.5开始的,内建类型和它们的包装类型之间(比如int变量和Integer类的对象之间)可以自动装箱,自动拆箱。(boxing, unboxing)
System.out.println(a.equals(45)); //true45做为参数传递过去时,由于形参声明为一个Object
45会自动装箱成一个Integer对象。
i know now ;