¿Qué anotación @NotNull en Java es mejor usar y por qué?
¡Hola a todos! Soy un desarrollador Java principiante y estoy escribiendo mi primer proyecto serio. Me encontré con el problema de que mis métodos fallan constantemente con NullPointerException porque olvido verificar los argumentos para null. Decidí usar anotaciones @NotNull para que el IDE me advierta sobre posibles problemas, pero aquí surgió la confusión.
En diferentes proyectos veo diferentes anotaciones:
- `javax.annotation.Nonnull` (de JSR 305)
- `org.jetbrains.annotations.NotNull` (de IntelliJ IDEA)
- `lombok.NonNull` (de Lombok)
- `jakarta.annotation.Nonnull` (de Jakarta EE)
- `javax.validation.constraints.NotNull` (de Bean Validation)
No entiendo cuál elegir para mi proyecto. Por ejemplo, escribo código así:
```java
public class UserService {
public User createUser(String name, String email) {
// Aquí a veces es null, pero a menudo olvido verificar
if (name == null) {
throw new IllegalArgumentException("Name must not be null");
}
// y email no
No answers yet.
Inicia sesión para dejar una respuesta
Blogs