ザクっと理解するAnnotations(アノテーション) – Android Java Kotlin
Annotations(アノテーション)
アノテーションとは、指定したプログラムに対して情報を付与することを指します。
ただし、コードの実行内容には影響を与えません。
※アノテーションは、データ(プログラム)を説明するためのデータであるため、メタデータと呼ばれます
下記が、アノテーションを行う主な理由です。
コンパイラーに対する情報提示 | コンパイラーのエラー検知や警告の非表示に使用されます |
コンパイル時、デプロイメント時の処理 | ソフトウェアツールの、コードなどの自動生成処理に使用されます |
実行時の処理 | 実行時に使用されます |
アノテーションの基礎
@(アットマーク)をつけることで、その後ろに続く内容がアノテーションであることを、コンパイラーに示します。
@Composable
fun AnnotationsBasics() { ... }
アノテーションの要素の指定が可能です。
要素名は、要素の数が1つである場合にのみ省略可能です。
「@Composable」のように、要素のないアノテーションでは丸括弧の省略が可能です。
// 複数要素の場合
@Author(
name = "Benjamin Franklin",
date = "3/27/2003"
)
class MyClass { ... }
// 単数要素で名前指定の場合
@SuppressWarnings(value = "unchecked")
fun myMethod01() { ... }
// 単数要素で名前省略の場合
@SuppressWarnings("unchecked")
fun myMethod02() { ... }
1つの宣言(クラスや関数など)に対して、複数のアノテーションが可能です。
@Author(name = "Jane Doe")
@EBook
class MyClass { ... }
同じアノテーションの指定も可能です。
これを反復アノテーション(Repeating Annotation)と呼びます。
// 毎週金曜日の23時と月末に処理を実行
@Schedule(dayOfMonth="last") // 月末を設定
@Schedule(dayOfWeek="Fri", hour="23") // 毎週金曜日の23時を設定
public void doPeriodicCleanup() { ... }
おわりに
知りたいことや質問等がありましたら、コメントまでお願いします。
参考文献
・Annotations ORACLE Java Documentation
関連記事
・ザクっと理解する @Qualifier – Android Dagger Hilt (作成中)
コメント