Dienstag, 5. April 2011

Ist bei einem "instanceof" vorher eine null-Abfrage nötig?

Letzten Freitag habe ich mal wieder Quelltext-Reviewing in einem fremden Projekt betrieben und bin auf so etwas Ähnliches gestoßen: 


if (inputValue != null && inputValue instanceof String)
{
[...]
}


inputValue ist ein Object.


Ich gebe zu, es ist nur eine Kleinigkeit. Kaum der Rede wert. Aber weil ich so etwas schon oft gesehen habe: Ist eine Überprüfung auf null vor einem instanceof wirklich notwendig?






Nein,  der instanceof-Operator liefert nur dann true, wenn inputValue eine Instanz vom Typ String ist. Wenn die Variable inputValue also null enthält, kann das Objekt auf das inputValue verweisen würde wenn es nicht null wäre also unmöglich ein String sein... 


Hm, der letzte Satz ist toll.... :-)

Keine Kommentare:

Kommentar veröffentlichen