当前位置: 移动技术网 > IT编程>开发语言>Java > Java8新特性之重复注解(repeating annotations)浅析

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

陕西民办大学,晋城市教育局,约会倍增术

一、什么是重复注解

允许在同一申明类型(类,属性,或方法)的多次使用同一个注解

二、一个简单的例子

java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的代码:

复制代码 代码如下:

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里面的做法:

复制代码 代码如下:

@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里面做法更适合常规的思维,可读性强一点

三、总结

jep120没有太多内容,是一个小特性,仅仅是为了提高代码可读性。这次java 8对注解做了2个方面的改进(jep 104,jep120),相信注解会比以前使用得更加频繁了。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网