blog

Java 8の新機能を探る(5):アノテーションを繰り返す

JEP120はあまり内容がなく、コードの可読性を向上させるだけの小さな機能です。今回、java 8ではアノテーションに2つの改良が加えられたので、アノテーションは以前よりもよく使われるようになると思い...

Jun 15, 2014 · 2 min. read
シェア

 繰り返されるアノテーションとは

同じ宣言タイプに対して同じアノテーションを複数回使用可能

簡単な例

java 8にもアノテーションを再利用するソリューションがありますが、以下のコードのように可読性はあまりよくありません:

public @interface Authority {  
     String role();  
}  
 
public @interface Authorities {  
    Authority[] value();  
}  
 
public class RepeatAnnotationUseOldVersion {  
      
    
    public void doSomeThing(){  
    }  
}  

別のアノテーションで重複アノテーションを保存し、使用時に重複アノテーションをstorageアノテーションAuthoritiesで拡張します:

@Repeatable(Authorities.class)  
public @interface Authority {  
     String role();  
}  
 
public @interface Authorities {  
    Authority[] value();  
}  
 
public class RepeatAnnotationUseNewVersion {  
    
    
    public void doSomeThing(){ }  
}  

違いは、繰り返し可能なアノテーションAuthorityを作成するときに加えて、@Repeatable、ストレージアノテーションAuthoritiesを指して、使用すると、直接Authorityアノテーションを再利用することができます。上記の例から、java 8の内部の練習は、従来の考え方に適している、可読性が少し強いです。

まとめ

JEP120はあまり内容がなく、コードの可読性を向上させるだけの小さな機能です。今回、java 8ではアノテーションに2つの改良が加えられたので、アノテーションは以前よりもよく使われるようになると思います。

Read next

LANDESKは、ユーザー中心のアプローチによる新しいIT管理モデルを提唱している。

LANDESKは、2013年に新世代のツールとサービスをリリースし、ITがユーザー中心の方法でトレンドの変化に対応し、ユーザーの生産性を最適化できるよう支援します。

Jun 15, 2014 · 4 min read