我为Spring应用程序使用Java中CheckerFramework的依赖项
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
<version>1.9.4</version>
</dependency>
在IntelliJ下的Maven项目中。我安装了here可用的IntelliJ插件。但是,当我添加注释时,例如
导入org.checkerframework.checker.igj.qual.ReadOnly;
导入org.checkerframework.checker.nullness.qual.NonNull;
@服务
公共类AService {
@Override
public void addSomething(final int[] @NonNull @ReadOnly something) {}
我收到消息
Annotations are not allowed here
,但无法编译。我已经打开了插件的所有注释。我该如何解决?
最佳答案
您编写的语法不是合法的Java。
数组类型的注释写在数组括号之前,而不是后面。
如果要表示something
是一个非null的int数组,请不要编写int[] @NonNull something
。而是这样写:
int @NonNull [] something