【发布时间】:2017-11-03 19:57:15
【问题描述】:
是否有类似 @ContainsNulls 注释的东西指出 List 中可能存在空值?
【问题讨论】:
标签: java annotations
是否有类似 @ContainsNulls 注释的东西指出 List 中可能存在空值?
【问题讨论】:
标签: java annotations
要指定列表可能包含空元素,请使用 Java 的类型注释功能声明列表元素类型。例如:
List<@Nullable String> mylist;
存在许多用于检查 nullsess 的工具,每个工具都定义了自己的 @Nullable 注释。许多工具可以读取和解释其他工具的注释。
大多数工具将@NonNull 设为默认注释,因此如果您只写List<String>,该工具会将其解释为List<@NonNull String>。这种选择减少了代码中的混乱。
可以在Checker Framework manual 中找到不同工具及其注释的列表。
其中一些工具是错误检测器,可以发现一些空指针异常,而另一些工具则是可以保证您的代码没有空指针异常的验证工具。适合您的工具取决于您的情况;这是两种工具中的a comparison。
【讨论】:
会导致编译错误。
'@Nullable' 不适用于类型使用
我们不能将@Nullable 注解放在类型定义中。可选类可以在这里提供帮助。
List<@Nullable String> mylist;
【讨论】: