"字符串@NotNull[]"语法导致intellij IDEA插件中"'@NotNull'不适用类型使用"。

问题描述 投票:1回答:1

我正在尝试修复一个老的、现在已经开源的 intellij IDEA 插件(the CFML插件)

以下语法在多个文件中多次出现,并产生错误。

String @NotNull []

这就是错误的样子。

enter image description here

这个例子来自以下文件:https:/github.comJetBrainsintellij-pluginsblobmasterCFMLsrccomintellijcoldFusionmodelCfmlUtil.java#L249。

这个语法有什么作用?我没有找到任何关于它的信息。好像是 @NotNull String[] 会做同样的事情,而不会出现错误。

我怎样才能让这个问题得到解决?我已经按照设置说明进行了 建立开发环境创建一个插件项目 正是。我的环境缺少什么来运行这段代码?

java intellij-idea intellij-plugin
1个回答
1
投票

我怀疑你没有安装JetBrains Annotations库。请遵循安装指南 此处.

String @NotNull [] 语法包括 @NotNull 注释应用于 String[] 类型. 请注意,这不同于 @NotNull String[]其中 @NotNull 只适用于 String 类型。这个注解是用来说明返回的字符串数组不会是空的,但里面的字符串可能是空的。

比较一下。

  • @NotNull String @Nullable []: 返回的数组中的字符串必须是非空的,但是返回的数组可能是空的。
  • @NotNull String @NotNull []比较:返回的数组中的字符串必须是非空的,而且数组也必须是非空的。
  • @Nullable String @NotNull []: 字符串数组必须是非空的,但里面的字符串可能是空的。
  • @Nullable String @Nullable []: 字符串数组可能是空的,其中也可能有空的字符串。
© www.soinside.com 2019 - 2024. All rights reserved.