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.
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