RetentionPolicy CLASS与运行时间

RetentionPolicy.CLASS和之间有什么实际区别RetentionPolicy.RUNTIME

看起来两者都记录在字节码中,并且无论如何都可以在运行时对其进行访问。

回答:

两者都可以在运行时访问。

那不是javadoc所说的:

RUNTIME:注释由编译器记录在类文件中,并 。

CLASS:注释由编译器记录在类文件中,但 。

在实践中,我不知道的任何用例CLASS。仅当您想以编程方式读取字节码(而不是通过classloader

API)时才有用,但这是一个非常特殊的情况,我不知道为什么不只使用RUNTIME

具有讽刺意味的是,这CLASS是默认行为。

以上是 RetentionPolicy CLASS与运行时间 的全部内容, 来源链接: utcz.com/qa/411643.html

回到顶部