java:boolean instanceOf布尔值?
我有些困惑:我有一个函数,该函数以Object作为参数。但是,即使我只是传递一个原语,甚至将布尔原语识别为布尔对象,编译器也不会抱怨。为什么呢?
public String test(Object value){
if (! (value instanceof Boolean) ) return "invalid";
if (((Boolean) value).booleanValue() == true ) return "yes";
if (((Boolean) value).booleanValue() == false ) return "no";
return "dunno";
}
String result = test(true); // will result in "yes"
回答:
因为原始的’ true
‘将被自动
到Boolean
并且是一个Object
。
以上是 java:boolean instanceOf布尔值? 的全部内容, 来源链接: utcz.com/qa/423957.html