【发布时间】:2017-12-31 03:01:22
【问题描述】:
我的 java 方法可以返回 null 和非空结果。我想用 @Nullable 注释标记方法,使其更具可读性。
我使用了com.sun.istack.internal.Nullable,但声纳说不应使用“sun.*”包中的类。代码气味大鱿鱼:S1191.
我试图找到更多类似的注解,但有来自不同 IDE 的变体,而不是来自 java 供应商。
java (oracle) 是否为可空注释提供替代方案,或者我应该只使用第三方库?如果我必须使用第三方库来拥有@Nullable,哪个应该好?
【问题讨论】:
-
使用来自JSR 305 的
javax.annotation.Nullable而不是内部Sun 类。您可以在例如 com.google.code.findbugs:jsr305 中找到该注释 -
你可以直接返回
Optional<T> -
我推广来自@dehasi 的评论。只返回一个可选的,这可能是最易读的版本
-
@Jesper - 好主意,谢谢。