RetentionPolicy CLASS与运行时间
RetentionPolicy.CLASS
和之间有什么实际区别RetentionPolicy.RUNTIME
?
看起来两者都记录在字节码中,并且无论如何都可以在运行时对其进行访问。
回答:
两者都可以在运行时访问。
那不是javadoc所说的:
RUNTIME:注释由编译器记录在类文件中,并 。
CLASS:注释由编译器记录在类文件中,但 。
在实践中,我不知道的任何用例CLASS
。仅当您想以编程方式读取字节码(而不是通过classloader
API)时才有用,但这是一个非常特殊的情况,我不知道为什么不只使用RUNTIME
。
具有讽刺意味的是,这CLASS
是默认行为。
以上是 RetentionPolicy CLASS与运行时间 的全部内容, 来源链接: utcz.com/qa/411643.html