Eclipse QuickFix Tipp: instanceof Class Cast erstellen
Hat man ein Objekt und möchte überprüfen von welcher Klasse dieses Objekt eine Instanz ist wird der Operator instanceof verwendet. Ergibt diese Prüfung true erfolgt in der Regel ein Cast auf diese Klasse. So sieht der Code oft wie folgt aus:
if(unknownObj instanceof Integer) { Integer myCastedIntObj = (Integer)unknownObj; // do sth with casted object }
Um diesen “instance of” Code mit anschließendem Class Cast zu erstellen besteht in Eclipse die Möglichkeit einen Quickfix zu verwenden und so die Tipparbeit deutlich zu vereinfachen. Dazu einfach das Schlüsselwort instanceof anfangen zu schreiben und Strg-Space drücken. Es öffnet sich der QuickFix Panel mit Vorschlägen wobei instanceof direkt an erster Stelle steht:
Selektiert man diesen QuickFix und drückt Enter wird das Code Template im Editor erstellt um die restlichen notwendigen Angaben wie z.B. die Variable die geprüft oder die Klasse auf die gecastet werden soll. Was viele nicht wissen ist, dass wenn im Eclipse Editor ein blauer Rahmen um ein Wort steht kann man einfach mit Tab durch das Template navigieren:
Gibt man die Klasse an auf die geprüft werden soll wird sie auch direkt in der Zeile mit dem Cast eingesetzt:
Anschließend nur noch den Namen der neuen internen Variable anpassen und mit Enter den QuickFix und somit das Bearbeiten des Templates beenden. Der Cursor postiert sich nun direkt in die Zeile unter der Class cast Zeile und es kann somit direkt weitergearbeitet werden.
Man wird diesen QuickFix wahrscheinlich seltener brauchen aber wenn man ihn kennt und weiß wie sich Eclipse verhält kann man einen solchen instanceof Ausdruck binnen Sekunden und ohne große Mühe erstellen. Man sollte es also mal ausprobiert haben und wissen, dass es diese Unterstützung gibt.
Wenn du Fragen oder Anregungen zum Post hast, dann hinterlasse doch einen Kommentar oder wenn du weiterhin Artikel von Javathreads lesen möchtest, dann abonniere den RSS Feed und sehe direkt in deinem Feed Reader die nächsten Artikel.














Hi,
du hast im Titel nen kleinen Fehler:
Eclipse, nicht Exlipse ;-) .
Gruß
Stefan