早教吧 育儿知识 作业答案 考试题库 百科 知识分享

JAVA的equals方法问题求解?Integeri=newInteger(42);Longl=newLong(42);Doubled=newDouble(42.0);下列表达式结果为真的有().A、(i==l)B、(i==d)C、(d==l)D、(i.equals(d))E、(d.equals(i))F、(i.equals(42))

题目详情
JAVA的equals方法问题求解?
Integer i = new Integer (42);
Long l = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( ).
A、(i ==l)
B、(i == d)
C、(d == l)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
不好意思,忘记告诉大家,不过就是不知道为什么~
▼优质解答
答案和解析
F对.  首先A,B,C都错,因为不同数据类型不能用"=="比较("=="比较的是对象的引用);对于D和E,先假设程序所在的系统中int型为4字节,long为6字节,double为8字节,那么对于D来说其意思为:32位的int数据是否等于48位的long数据,所以D错,同理E也错