独自のアノテーションのオプションパラメータを作成するにはどうすればよいですか?


89

以下は注釈コードです

public @interface ColumnName {
   String value();
   String datatype();
 }

datatypeたとえば、オプションのパラメーターを作成したい

@ColumnName(value="password") 

有効なコードである必要があります。

回答:


125

公式ドキュメントの最初の例のように思われます...

/**
 * Describes the Request-For-Enhancement(RFE) that led
 * to the presence of the annotated API element.
 */
public @interface RequestForEnhancement {
    int    id();
    String synopsis();
    String engineer() default "[unassigned]"; 
    String date()     default "[unimplemented]"; 
}

1
私だけ私が割り当てられていないと未実装の違いを知っているthis.mayを見つけるcouldntの理由tutorials.ieを見て
Biju CD

16
違いはありません。これらは単なる文字列値です。彼らは「ピーター」と「ポール」である可能性があります。
sparkyspider 2012年

5
そして、私のパラメータがClass<?>sの場合はどうなりますか?
Aetherus、2016年

その場合でも、Javaの型システムが適用されます。例Class<?> proxy() default Object.class
マイケルミラー、

35

これをオプションにするには、次のようなデフォルト値を割り当てます。

public @interface ColumnName {
   String value();
   String datatype() default "String";
 }

そうすれば、注釈を使用するときにそれを指定する必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.