Avatar ·

Qual anotação @NotNull em Java é melhor usar e por quê?

Olá a todos! Sou um desenvolvedor Java iniciante e estou escrevendo meu primeiro projeto sério. Enfrentei o problema de que meus métodos constantemente falham com NullPointerException porque esqueço de verificar os argumentos para null. Decidi usar as anotações @NotNull para que a IDE me avise sobre problemas potenciais, mas surgiu uma confusão. Em diferentes projetos, vejo anotações diferentes: - `javax.annotation.Nonnull` (do JSR 305) - `org.jetbrains.annotations.NotNull` (do IntelliJ IDEA) - `lombok.NonNull` (do Lombok) - `jakarta.annotation.Nonnull` (do Jakarta EE) - `javax.validation.constraints.NotNull` (do Bean Validation) Não entendo qual delas escolher para meu projeto. Por exemplo, escrevo código assim: ```java public class UserService { public User createUser(String name, String email) { // Aqui às vezes é null, mas frequentemente esqueço de verificar if (name == null) { throw new IllegalArgumentException("Name must not be null"); } // e email não