Java Equals

来源:互联网 发布:白头发 知乎 编辑:程序博客网 时间:2024/06/02 04:39
Integer i = 42;Long l = 42l;Double d = 42.0;

下面为true的是:

(i == l)(i == d)(l == d)i.equals(d)d.equals(l)i.equals(l)l.equals(42L)

正确答案:
只有l.equals(42L)

解析:

ABC3 个选项很明显,不同类型引用的 == 比较,会出现编译错误,不能比较。
DEF 调用 equals 方法,因为此方法先是比较类型,而i , d , l 是不同的类型,所以返回假。
选项 G ,会自动装箱,将 42L 装箱成 Long 类型,所以调用 equals方法时,类型相同,且值也相同,因此返回真。

0 0
原创粉丝点击