应该使用哪个Java @NonNull/@NotNull注解?比较与建议
大家好!我是一名Java新手开发者,已经第二天在为这个看似简单的问题困扰:项目中应该使用哪个@NotNull(或@NonNull)注解?
问题在于,我在不同地方看到它们,不明白哪个是“正确的”。例如,IntelliJ IDEA有自己的org.jetbrains.annotations.NotNull。在Spring Boot项目中,我遇到了javax.annotation.Nonnull(现在是jakarta.annotation.Nonnull)。而同事说最好使用jakarta.validation.constraints.NotNull或lombok.NonNull。
下面是一个让我困惑的简单示例:
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(service.greet(null));
}
}