当前位置:IT认证>软件水平

问题:[选择题]

[单项选择题] 当执行下面代码时,会输出( )。 Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(true); if (b1 == b2)if (bi.equals(b2)) System. out.printin ("a");else System. out. println ("b"); elseif (bi.equals(b2)) System. out.println (&qu


A.a
B.b
C.c
D.d

参考答案: C

  参考解析

本题考查对简单类型中的boolean类型的类封装的理解和掌握。对应于基本数据类型boolean的类封装是Boolean。它的构造函数的原型是Boalean(booleanvalue),将boolean值的数据转换为Boolean的对象。成员函数equals()的原型是Booleanequals(ObjectObj),当且仅当obj对象为Boolean对象且它的布尔值与该对象的布尔值相同时返回true。注意关系运算符==用来比较两个操作数的值是否相等。它一般只能用在基本数据类型间的比较,对于复杂的数据类型,这种比较往往都是没有意义的,对于这种没有意义的比较,其结果都为false。在本题的代码中,先创建两个Boolean类的对象b1和b2,并且它们的布尔值都为true。然后直接对这两个对象进行==关系运算,这样的运算结果肯定为false,程序流程就走到第1层的else语句那里了,然后再用equals函数对两个对象的布尔值进行比较。因为它们的布尔值都为true,所以返回结果为true。这样输出的结果就为C。

微信端