我有点困惑:我有一个函数,它以对象作为参数。但是编译器如果我只传递一个基本类型的值,甚至识别布尔原语作为布尔对象时也不会抱怨。这是为什么呢?
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"