虽然使用Intellij Idea快速文档功能( CTRL + Q ),但有时我发现标准JDK类需要通过非标准注释进行注释。当一个 CTRL - 单击带注释的功能以查看其源代码时,这些注释不存在。例如,下图显示java.util.Collections.unmodifiableList
的注释@org.jetbrains.annotations.NotNull
注释:
为什么用第三方注释装饰标准类?
这不一致,例如,来自checkedNavigableSet
的{{1}}注释不同,没有给出java.util.collections
的包:
这种现象并不排除发展,我只是好奇QuickDoc的行为就是这样。为方便起见,Intellij团队可能会将这些注释放在那里吗?
答案 0 :(得分:2)
根据here的文档,Idea的检查机制使用了注释,因此语句Collections.unmodifiableList(null)
标有非空合同违规警告。正如您注意到原始代码中没有这样的注释,所以我猜它们被添加到JDK和Editor之间的中间位置。它仍然不清楚为什么它出现在包装中或没有它。