不是说equals只能用于Object对象引用吗?那这是为什么呀
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
------解决方案--------------------哪里不明白啊?
equals确实是Object类的方法,其返回值为boolean型,所以当你从一个对象上调用equals时,它返回的要么是true,要么是false。
------解决方案--------------------JDK1.5开始,有时候可以用int代替Integer、double代替Double
------解决方案--------------------Integer a = new Integer(45);
System.out.println(a.equals(45)); //true
45做为参数传递过去时,由于形参声明为一个Object
45会自动装箱成一个Integer对象。
------解决方案--------------------简单来说这里的Integer 和Double就是对象类型了 明白了吗
------解决方案--------------------自动装箱拆箱。。。