Qual anotação Java @NonNull/@NotNull é melhor usar? Comparação e recomendações
Olá a todos! Sou um desenvolvedor Java iniciante e já estou há dois dias quebrando a cabeça com uma pergunta aparentemente simples: qual anotação @NotNull (ou @NonNull) usar no projeto?
O problema é que vejo elas em lugares diferentes e não entendo qual é a "correta". Por exemplo, no IntelliJ IDEA existe a própria org.jetbrains.annotations.NotNull. No projeto Spring Boot, encontrei javax.annotation.Nonnull (agora jakarta.annotation.Nonnull). E um colega disse que é melhor usar jakarta.validation.constraints.NotNull ou lombok.NonNull.
Aqui está um exemplo simples que me confunde:
import org.jetbrains.annotations.NotNull;
public class UserService {
public String greet(@NotNull String name) {
return "Hello, " + name;
}
public static void main(String[] args) {
UserService service = new UserService();
System.out.println(serv