"String @NotNull []" 语法导致 intellij IDEA 插件中出现“‘@NotNull’不适用于类型使用”
"String @NotNull []" syntax causes "'@NotNull' not applicable to type use" in intellij IDEA plugin
我正在尝试修复一个旧的、现在开源的 intellij IDEA 插件(CFML Plugin)中的一些错误
以下语法在多个文件中多次出现并产生错误:
String @NotNull []
这是错误的样子:
这个语法有什么作用?
我还没有找到任何关于它的信息。似乎 @NotNull String[]
会做完全相同的事情而不会出现错误。
如何让它工作?
我完全按照 setting up a development environment and creating a plugin project 的设置说明进行操作。 运行 此代码缺少什么我的环境?
我怀疑您没有安装 JetBrains Annotations 库。请按照安装指南here.
String @NotNull []
语法由应用于 String[]
类型 的 @NotNull
注释组成。请注意,这与 @NotNull String[]
不同,其中 @NotNull
仅适用于 String
类型。这样使用注解是说返回的字符串数组不会为null,但是里面的字符串可能是。
比较:
@NotNull String @Nullable []
: 返回数组中的字符串必须为非空,但可以返回空数组。
@NotNull String @NotNull []
: 返回数组中的字符串必须是非空的,数组也必须是非空的
@Nullable String @NotNull []
: 字符串数组必须为非空,但其中的字符串可能为空
@Nullable String @Nullable []
:字符串数组可能为空,也可能有空字符串
检查您的依赖项,可能是您包含了验证 bean 和验证器-api,
javax.validation.constraints.NotNull
;
他们有相同的包裹
去掉其中一个就OK了
我正在尝试修复一个旧的、现在开源的 intellij IDEA 插件(CFML Plugin)中的一些错误
以下语法在多个文件中多次出现并产生错误:
String @NotNull []
这是错误的样子:
这个语法有什么作用?
我还没有找到任何关于它的信息。似乎 @NotNull String[]
会做完全相同的事情而不会出现错误。
如何让它工作? 我完全按照 setting up a development environment and creating a plugin project 的设置说明进行操作。 运行 此代码缺少什么我的环境?
我怀疑您没有安装 JetBrains Annotations 库。请按照安装指南here.
String @NotNull []
语法由应用于 String[]
类型 的 @NotNull
注释组成。请注意,这与 @NotNull String[]
不同,其中 @NotNull
仅适用于 String
类型。这样使用注解是说返回的字符串数组不会为null,但是里面的字符串可能是。
比较:
@NotNull String @Nullable []
: 返回数组中的字符串必须为非空,但可以返回空数组。@NotNull String @NotNull []
: 返回数组中的字符串必须是非空的,数组也必须是非空的@Nullable String @NotNull []
: 字符串数组必须为非空,但其中的字符串可能为空@Nullable String @Nullable []
:字符串数组可能为空,也可能有空字符串
检查您的依赖项,可能是您包含了验证 bean 和验证器-api,
javax.validation.constraints.NotNull
;
去掉其中一个就OK了