Java包装类的自动拆装箱
Posted iamyzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java包装类的自动拆装箱相关的知识,希望对你有一定的参考价值。
题目:
Integer i = 42 ; Long l = 42l; Double d = 42.0 ; |
下面为true的是
A.(i == l)
B.(i == d)
C.(l == d)
D.i.equals(d)
E.d.equals(l)
F.i.equals(l)
G.l.equals(42L)
答案:G
解析:同类型的进行比较,如Integer 与int,Long与long进行==比较时,会自动拆箱;不同类型之间进行比较,如果有一方为非包装类,则会自动拆箱。如果两方都为包装类,则不会拆箱,且不能比较,编译会报错,因此ABC均错误。DEF 调用 equals 方法,因为此方法先是比较类型,而 i , d , l 是不同的类型,所以返回假。选项 G ,会自动装箱,将 42L 装箱成 Long 类型,所以调用 equals 方法时,类型相同,且值也相同,因此返回真。
以上是关于Java包装类的自动拆装箱的主要内容,如果未能解决你的问题,请参考以下文章