アノテーションに特別な意味があるようです。アノテーションを作成するときにパラメータ名をスキップできます。'value'はjavaキーワードですか?
@Foo(bar = "abc") // a normal instantiation of an annotation
@Foo("abc") // if bar were renamed 'value'
これはどこに文書化されていますか? value
は、キーワードかどうかSee also。
アノテーションに特別な意味があるようです。アノテーションを作成するときにパラメータ名をスキップできます。'value'はjavaキーワードですか?
@Foo(bar = "abc") // a normal instantiation of an annotation
@Foo("abc") // if bar were renamed 'value'
これはどこに文書化されていますか? value
は、キーワードかどうかSee also。
section 3.9 of the JLSにリストされていないため、通常のキーワードではありません。特に、私が知っている限り、好きな場所で識別子として使うことができます。
注釈値のデフォルトでvalue
の使用は、section 9.7で指定されている:
01:注釈、単一要素の注釈の第三の形態は、単一要素の注釈タイプで使用するために設計された速記である:
@TypeName (value = ElementValue)
SingleElementAnnotation:
@ TypeName (ElementValue)
それは通常、注釈の省略形です
value
は、注釈データが配置されるデフォルトのフィールドです。 value
しかし、javaキーワードではありません(リマインダ@gustafcのおかげで)。
This is documented - 述べ公式ドキュメント、中:
を単一の要素を持つ注釈では、要素が値
と
名前を付ける必要があります要素名が値
である単一要素アノテーションで要素名と等号(=)を省略することは許されます
いいえ、value
はではありません。はJavaのキーワードです。注釈にパラメータが1つしかなく、その注釈にvalue
という1つの要素しかない場合は、注釈を使用するときにはvalue
という名前を省略できます。注釈はここに説明されています: http://download.oracle.com/javase/1.5.0/docs/guide/language/annotations.html そして、でJLS:
に記載されています。追加情報:http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html – EinLama
しかし、わかりやすくしたい場合、 'value'はキーワードではありません:http://java.sun。 co.jp/docs/books/jls/third_edition/html/lexical.html#3.9 – gustafc