Java - NotNull-Anmerkung im Methodenargument verwenden
Das heutige Tutorial behandelt die Annotation @NotNull
und verwendet Codebeispiele, um zu demonstrieren, wie wir sie in Methodenargumenten verwenden können, während wir in Java arbeiten.
Übersicht über die Annotation @NotNull
Wenn Sie die Variable oder Methode so einstellen möchten, dass sie keinen null
-Wert zurückgibt, können Sie die Annotation @NotNull
verwenden. Es ist eine Standard-JSR-Annotation und validiert, ob der annotierte Eigenschaftswert nicht null
ist.
Die Spezialität von @NotNull
ist, wenn Sie eine Methode auf @NotNull
setzen, wird sie niemals einen null
-Wert zurückgeben, und wenn eine Variable auf @NotNull
gesetzt ist, kann sie die null
nicht enthalten. Wert.
Der kritische Punkt ist, dass, wenn die Elternmethode das @NotNull
enthält, ihr Kind mit @NotNull
annotiert werden muss. Lassen Sie uns als Nächstes zu den Codezäunen unten springen, um seine Verwendung im Methodenargument zu lernen.
Verwenden Sie die Annotation @NotNull
im Methodenargument
Beispielcode:
import javax.validation.constraints.NotNull;
public class JavaNotNull {
int sum(@NotNull int a, int b) {
return a + b;
}
public static void main(String args[]) {
JavaNotNull jnn = new JavaNotNull();
System.out.println("The sum is: " + jnn.sum(5, 5));
}
}
Ausgang:
The sum is: 10
Im obigen Beispiel haben wir zuerst das erforderliche Paket für @NotNull
als import javax.validation.constraints.NotNull;
eingefügt, danach haben wir eine Methode namens sum()
erstellt, in der wir ihren Wert als @NotNull
.
Beachten Sie, dass die Methode sum()
das Ergebnis der Summenoperation zwischen zwei Variablen zurückgibt. Dann haben wir ein Objekt der Klasse JavaNotNull
erstellt und seine Methode sum()
aufgerufen, um die obige Ausgabe zu erhalten.
Denken Sie darüber nach, was passiert, wenn wir versuchen, eine null
-Variable an sum()
des obigen Beispiels zu übergeben?
Die Antwort ist, dass wir in unserem obigen Beispiel die Methodenvariable auf @NotNull
setzen, sodass sie den Wert null
nicht erhalten kann. Im folgenden aktualisierten Beispiel werden wir versuchen, einen null
-Wert an die sum()
-Methode zu übergeben, um zu sehen, was passiert.
Aktualisierter Beispielcode:
import javax.validation.constraints.NotNull;
public class JavaNotNull {
int add(@NotNull int a, int b) {
return a + b;
}
public static void main(String args[]) {
JavaNotNull jnn = new JavaNotNull();
// We are trying to pass a null value here
System.out.println("The sum is: " + jnn.add(null, 5));
}
}
Wenn Sie nun versuchen, das obige Codebeispiel auszuführen, erhalten Sie den folgenden Fehler. Denn da wir die Methode auf @NotNull
setzen, kann sie keine null
-Werte erhalten.
error: Class names, 'JavaNotNull', are only accepted if annotation processing is explicitly requested
1 error
Ein wichtiger Hinweis ist, wenn Sie eine Methode mit einem null
-Wert aufrufen und die Methode auf @NotNull
gesetzt ist. Es kann zur Laufzeit die NullPointerException
verursachen.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn