java: boolean instanceOf Boolean?
Ich bin ein bisschen verwirrt: Ich habe eine Funktion, die ein Objekt als Argument nimmt. Aber der Compiler beschwert sich nicht, wenn ich nur ein Primitiv übergebe und sogar ein Boolesches Primitiv als Boolesches Objekt erkenne. Warum ist das so
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"