假设我有一个具有不变量的类,即某个实例变量永远不会为空。我也想正确使用 jsr305 null 注释。该类作为 API 公开,因此我不能依靠注释来防止空值;我还需要在运行时检查 null。
public final class NonNullString {
private final String string;
public NonNullString(String string) {
if (string == null) throw new NullPointerException();
this.string = string;
}
public String getString() {
return string;
}
}
将空注释应用于此类的最佳方法是什么? @javax.annotation.Nonnull
应用于构造函数的参数描述了我的意图,但随后 Eclipse 的空分析警告空检查是死代码。如有必要,我可以抑制 Eclipse 的警告,但警告让我想知道是否有更好的方法来使用注释。
编辑:我在问如何处理可能不使用空注释的客户端代码和使用空注释的代码之间的接口。