为了账号安全,请及时绑定邮箱和手机立即绑定

不同的保留政策如何影响我的注释?

不同的保留政策如何影响我的注释?

慕容708150 2019-11-27 10:20:23
以明确的方式有谁能解释之间的实际差别java.lang.annotation.RetentionPolicy常数SOURCE,CLASS和RUNTIME?我也不太确定“保留注释”是什么意思。
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

RetentionPolicy.SOURCE:在编译期间丢弃。这些注释在编译完成后没有任何意义,因此不会写入字节码。

范例:@Override,@SuppressWarnings


RetentionPolicy.CLASS:在上课时放弃。在进行字节码级后处理时很有用。令人惊讶的是,这是默认设置。


RetentionPolicy.RUNTIME: 不要丢弃。注释应可在运行时用于反射。例:@Deprecated


来源: 旧的URL现在 已死hunter_meta,并替换为hunter-meta-2-098036。万一出现这种情况,我将上传页面图像。


查看完整回答
反对 回复 2019-11-27
?
动漫人物

TA贡献1815条经验 获得超10个赞

根据您对类反编译的评论,我认为这应该起作用:

  • RetentionPolicy.SOURCE:不会出现在反编译类中

  • RetentionPolicy.CLASS:出现在反编译类中,但无法在运行时通过反射进行检查 getAnnotations()

  • RetentionPolicy.RUNTIME:出现在反编译类中,并且可以在运行时通过反射进行检查 getAnnotations()


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 500 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信