Null-Pointer-Exceptions sind eine Qual, da oftmals eine Referenzvariable null ist, die nicht null sein darf. Das kommt oft erst zur Laufzeit bei ganz besonderen Ausführungspfaden raus. Mit Annotationen kann man dem ein wenig entgegentreten, da man zum Einen gut dokumentiert was erlaubt ist und was nicht, und zum Anderen Analysetools erlaubt, sich die Ausführungspfade etwas genauer anzuschauen.
- Lade die Annotationen von JSR-305 von http://mvnrepository.com/artifact/com.google.code.findbugs/jsr305 und binde sie in den Klassenpfad ein.
- Lies http://www.sw-engineering-candies.com/blog-1/findbugstmwarningsbysamplenonnullandcheckreturnvalueofjsr-305.
- Kopiere das Beispiel in den Workspace.
- Stelle in Eclipse in den Warnings die Prüfung ein, siehe auch http://wiki.eclipse.org/JDT_Core/Null_Analysis. Achtung, stelle die Annotationen von den Paketen org.eclipse.jdt.annotation auf javax.annotation um!
- Probiere aus, welche Warnings in Eclipse was bedeuten.
- Welche Probleme tauchen plötzlich mit @NonNull auf?
- (Optional: Teste das mit FindBugs im Build.)
Wie schafft man findbugs zu überreden das zu testen? Wenn ich das richtig gelesen hat, bringt findbugs widerrum seine eigenen Annotations dafür mir. 🙁
lesen -> lies http://www.sw-engineering-candies.com/blo etc