Heim > Java > javaLernprogramm > Welche „@NotNull'-Annotation sollte ich in meinem Java-Code verwenden?

Welche „@NotNull'-Annotation sollte ich in meinem Java-Code verwenden?

Mary-Kate Olsen
Freigeben: 2024-12-15 09:57:15
Original
487 Leute haben es durchsucht

Which `@NotNull` Annotation Should I Use in My Java Code?

Auswahl der optimalen @NotNull-Annotation für Ihren Java-Code

Einführung

In die Java-Entwicklung , Nullability-Anmerkungen spielen eine entscheidende Rolle bei der Verbesserung der Codelesbarkeit und der Nutzung statischer Codeanalysetools zur Verhinderung von NullPointerExceptions. Allerdings kann die Fülle der verfügbaren Anmerkungen überwältigend sein und zu Verwirrung darüber führen, welche Anmerkung man wählen soll.

Vergleichende Analyse

Als Orientierungshilfe für Ihre Entscheidung finden Sie hier einen Vergleich von mehrere häufig verwendete @NotNull Anmerkungen:

  • javax.validation.constraints.NotNull: Entwickelt für die Laufzeitvalidierung, nicht für die statische Analyse.
  • edu.umd.cs.findbugs .annotations.NonNull: Wird von FindBugs verwendet (jetzt veraltet) und sein Nachfolger SpotBugs.
  • javax.annotation.Nonnull: Basiert auf JSR-305, das inaktiv ist, aber möglicherweise von FindBugs.
  • org unterstützt wird. jetbrains.annotations.NotNull: Wird von IntelliJ IDEA für statische Zwecke verwendet Analyse.
  • lombok.NonNull: Steuert die Codegenerierung in Project Lombok.
  • androidx.annotation.NonNull: Markierungsanmerkung verfügbar in Android.
  • org.eclipse.jdt.annotation.NonNull: Wird von Eclipse für die statische Codeanalyse verwendet.

Empfehlung

Seit JSR-305, das darauf abzielte, @NonNull und @Nullable zu standardisieren Anmerkungen, ist seit Jahren inaktiv, es gibt keinen klaren Konsens. Es kann jedoch ein pragmatischer Ansatz gewählt werden:

Syntax

Für eine saubere und prägnante Syntax empfiehlt sich die Verwendung von javax.annotation.Nonnull. Es ist das kürzeste und entspricht dem bevorzugten Stil, explizite Verweise auf Toolkits von Drittanbietern zu vermeiden.

Implementierung

Während die meisten @NotNull-Annotationen eine triviale Implementierung haben, javax .annotation.Nonnull hat eine längere. Es hat jedoch den Vorteil, dass es sich um eine Laufzeitanmerkung handelt, die zusätzlich zu Prüfungen zur Kompilierungszeit auch Prüfungen zur Laufzeit ermöglicht.

Nutzungskontexte

Achten Sie auf die Nutzungskontexte unterstützt durch verschiedene Anmerkungen. Einige Pakete, wie org.jetbrains.annotations, erlauben Anmerkungen zu lokalen Variablen, andere nicht. Berücksichtigen Sie bei der Auswahl der geeigneten Annotation Ihre spezifischen Code- und Toolchain-Anforderungen.

Das obige ist der detaillierte Inhalt vonWelche „@NotNull'-Annotation sollte ich in meinem Java-Code verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage