📜  什么是 @NotNull (1)

📅  最后修改于: 2023-12-03 14:49:08.233000             🧑  作者: Mango

什么是 @NotNull?

在Java中, @NotNull是一种用于声明参数、返回值、字段和方法的注释。它可以确保程序员遵守代码中所定义的约定,确保为非空值和非空合集使用正确的语法。 @NotNull可在编译时发现潜在的错误,减少因为空指针异常而导致的代码崩溃。

使用示例
作为参数注释

一个示例的参数注释的使用情况:

public void setName(@NotNull String name) {
    this.name = Objects.requireNonNull(name);
}
作为返回值注释

一个示例的返回值注释的使用情况:

@NotNull
public String getName() {
    return name;
}
作为字段注释

一个示例的字段注释的使用情况:

@NotNull
private String name = "default";
作为方法注释

一个示例的方法注释的使用情况:

@NotNull
public List<String> filter(@NotNull List<String> strings) {
    return strings.stream()
                  .filter(Objects::nonNull)
                  .collect(Collectors.toList());
}
引入依赖

要使用@NotNull注释,你需要在你的项目中添加设计源代码的库,例如JetBrains`annotations库:

<dependency>
    <groupId>org.jetbrains</groupId>
    <artifactId>annotations</artifactId>
    <version>VERSION_HERE</version>
</dependency>
总结

在你的Java项目中使用@NotNull注释是一种好习惯,它可以帮助你发现代码中的潜在错误,减少空指针异常的风险。然而,它并不会真正解决这个问题,因此,程序员还需要在开发过程中时刻保持警惕,避免潜在的空指针异常,以保证代码的正确性和稳定性。