源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java8新特性之重复注解(repeating annotations)浅析

  • 时间:2021-10-09 19:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java8新特性之重复注解(repeating annotations)浅析
[b]一、什么是重复注解 [/b]允许在同一申明类型(类,属性,或方法)的多次使用同一个注解 [b]二、一个简单的例子 [/b] java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的代码:
[u]复制代码[/u] 代码如下:
public @interface Authority {      String role(); } public @interface Authorities {     Authority[] value(); } public class RepeatAnnotationUseOldVersion {     @Authorities({@Authority(role="Admin"),@Authority(role="Manager")})     public void doSomeThing(){     } }
由另一个注解来存储重复注解,在使用时候,用存储注解Authorities来扩展重复注解,我们再来看看java 8里面的做法:
[u]复制代码[/u] 代码如下:
@Repeatable(Authorities.class) public @interface Authority {      String role(); } public @interface Authorities {     Authority[] value(); } public class RepeatAnnotationUseNewVersion {     @Authority(role="Admin")     @Authority(role="Manager")     public void doSomeThing(){ } }
不同的地方是,创建重复注解Authority时,加上@Repeatable,指向存储注解Authorities,在使用时候,直接可以重复使用Authority注解。从上面例子看出,java 8里面做法更适合常规的思维,可读性强一点 [b]三、总结[/b] JEP120没有太多内容,是一个小特性,仅仅是为了提高代码可读性。这次java 8对注解做了2个方面的改进(JEP 104,JEP120),相信注解会比以前使用得更加频繁了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部