我想用 @Nullable
-antotation注释一个完全合格的类名称(来自Java检查器框架),例如:
class Demo {
private transient @Nullable org.apache.lucene.search.Query cached_results;
// ...
}
但是,这导致错误:
scoping construct cannot be annotated with type-use annotation: @checkers.nullness.quals.Nullable
我如何注释完全合格的班级名称?
Java语言规范(版本8)§8.3将" UnannClasStype"指定为
UnannClasStype:
标识符[typearguments]
UnannClassorInterfaceType。{注释}标识符[typearguments]
因此,您需要声明:
private transient org.apache.lucene.search.@Nullable Query cached_results;
或在Checker框架的增强Java 7编译器中:
private transient org.apache.lucene.search./*@Nullable*/ Query cached_results;
注意:普通Java编译器忽略/*@Nullable*/
。