【发布时间】:2012-05-20 13:35:49
【问题描述】:
jre 在 rt.jar 中带有许多库,其中之一是 com.sun.istack.internal*。我需要 com.sun.istack.internal.Nullable(我发现谷歌在其 CacheBuilder 中使用它) 的文档,首先我想去 docs.oracle.com 查找它的文档在那里我一无所获。接下来转到使用 jdk 获取的源文件夹,我没有在所述文件夹中找到 com 名称实体。接下来我看看 jre7 版本,看看所有的包和类,发现那里没有提到 Nullable。虽然 SO 有一个 mention of it,但没有什么具体的。如果需要,我仍然很困惑从哪里获得它的文档和 src。我什至在 oracle 上查看了遗留的 sun api 文档,但没有提及它。 oracle 在哪里记录了关于移植包的政策以及它们是标准的还是非标准的。他们一定已经在某个地方记录了它,只是我花了太多时间才到达那里。
请指点我那里。
编辑:实际上 javax.annotation.Nullable 正在谷歌 CacheBuilder 中使用,而不是 com.sun.istack.internal.Nullable。 同样对于可能面临这个问题的人:javax.annotation.Nullable 目前还不是 Java SE 的一部分,它正在被移植到 jsr305 jar 中。因此,如果您打算使用 CacheBuilder 或只是浏览其代码,请在您的类路径中添加 jsr305 jar,否则 eclipse 会混淆并在您将光标悬停在 Nullable 上时将您指向 com.sun.istack.intenal.Nullable .
【问题讨论】:
-
我相信它只是一个标记界面。源文件中唯一的注释就是这么说的。
-
其实是个注解——
public @interface Nullable