Avatar ·

¿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