Java8新特征之反復注解(repeating annotations)淺析。本站提示廣大學習愛好者:(Java8新特征之反復注解(repeating annotations)淺析)文章只能為提供參考,不一定能成為您想要的結果。以下是Java8新特征之反復注解(repeating annotations)淺析正文
1、甚麼是反復注解
許可在統一聲名類型(類,屬性,或辦法)的屢次應用統一個注解
2、一個簡略的例子
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外面做法更合適慣例的思想,可讀性強一點
3、總結
JEP120沒有太多內容,是一個小特征,僅僅是為了進步代碼可讀性。此次java 8對注解做了2個方面的改良(JEP 104,JEP120),信任注解會比之前應用得加倍頻仍了。