Java - NotNull-Anmerkung im Methodenargument verwenden

MD Aminul Islam 12 Oktober 2023
  1. Übersicht über die Annotation @NotNull
  2. Verwenden Sie die Annotation @NotNull im Methodenargument
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.

MD Aminul Islam avatar MD Aminul Islam avatar

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