Java: use la anotación NotNull en el argumento del método

MD Aminul Islam 12 octubre 2023
  1. Descripción general de la anotación @NotNull
  2. Use la anotación @NotNull en el argumento del método
Java: use la anotación NotNull en el argumento del método

El tutorial de hoy analiza la anotación @NotNull y usa ejemplos de código para demostrar cómo podemos usarla en argumentos de métodos mientras trabajamos en Java.

Descripción general de la anotación @NotNull

Si desea configurar la variable o el método para que no devuelva ningún valor nulo, puede utilizar la anotación @NotNull. Es una anotación JSR estándar y valida si el valor de la propiedad anotada no es nulo.

La especialidad de @NotNull es que si establece un método en @NotNull, nunca devolverá ningún valor null, y si una variable se establece en @NotNull, no puede contener el null valor.

El punto crítico es que si el método principal contiene el @NotNull, entonces su hijo debe anotarse con @NotNull. Entonces, a continuación, saltemos a las cercas de código a continuación para aprender su uso en el argumento del método.

Use la anotación @NotNull en el argumento del método

Código de ejemplo:

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));
  }
}

Producción :

The sum is: 10

En el ejemplo anterior, primero incluimos el paquete requerido para @NotNull como import javax.validation.constraints.NotNull;, después de eso, creamos un método llamado sum() donde establecemos su valor como @NotNull.

Tenga en cuenta que el método sum() devolverá el resultado de la operación de suma entre dos variables. Luego creamos un objeto de la clase JavaNotNull y llamamos a su método sum() para obtener el resultado anterior.

¿Estás pensando en lo que sucede si intentamos pasar una variable nula a la suma() del ejemplo anterior?

La respuesta es que configuramos la variable de método en @NotNull en nuestro ejemplo anterior, por lo que no puede recibir el valor nulo. En el siguiente ejemplo actualizado, intentaremos pasar un valor nulo al método sum() para ver qué sucede.

Código de ejemplo actualizado:

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));
  }
}

Ahora, si intenta ejecutar el ejemplo de código anterior, obtendrá el siguiente error. Porque como establecemos el método en @NotNull, no puede recibir valores nulos.

error: Class names, 'JavaNotNull', are only accepted if annotation processing is explicitly requested
1 error

Una nota importante es si llama a un método con un valor nulo y el método está configurado como @NotNull. Puede causar la NullPointerException en tiempo de ejecución.

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