epe*_*gzz 15 java primitive autoboxing casting boolean
我有点困惑:我有一个函数,它以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"
Run Code Online (Sandbox Code Playgroud)