Intellij在标准Java类上显示非标准注释?

时间:2017-01-10 01:00:16

标签: java intellij-idea annotations

虽然使用Intellij Idea快速文档功能( CTRL + Q ),但有时我发现标准JDK类需要通过非标准注释进行注释。当一个 CTRL - 单击带注释的功能以查看其源代码时,这些注释不存在。例如,下图显示java.util.Collections.unmodifiableList的注释@org.jetbrains.annotations.NotNull注释:

QuickDoc for java.util.Collections.unmodifiableList

为什么用第三方注释装饰标准类?

这不一致,例如,来自checkedNavigableSet的{​​{1}}注释不同,没有给出java.util.collections的包:

QuickDoc for checkedNavigableSet

这种现象并不排除发展,我只是好奇QuickDoc的行为就是这样。为方便起见,Intellij团队可能会将这些注释放在那里吗?

1 个答案:

答案 0 :(得分:2)

根据here的文档,Idea的检查机制使用了注释,因此语句Collections.unmodifiableList(null)标有非空合同违规警告。正如您注意到原始代码中没有这样的注释,所以我猜它们被添加到JDK和Editor之间的中间位置。它仍然不清楚为什么它出现在包装中或没有它。