'value'是一个java关键字吗?

rip*_*234 4 java annotations

它似乎在注释中具有特殊含义 - 它允许您在实例化注释时跳过参数名称.

@Foo(bar = "abc") // a normal instantiation of an annotation
@Foo("abc") // if bar were renamed 'value'
Run Code Online (Sandbox Code Playgroud)

这记录在哪里?是value关键字还是没有?另见.

Mat*_*arz 6

不,value不是 Java中的关键字.如果只为注释指定了一个参数,并且注释只有一个被调用的元素,则在使用注释时可以省略value该名称value.这里解释了注释:http: //download.oracle.com/javase/1.5.0/docs/guide/language/annotations.html 并在JLS的第9.7节中有记录:


Jon*_*eet 5

它不是常规关键字,因为它未在JLS的第3.9节中列出.特别是,据我所知,你可以在任何你喜欢的地方使用它作为标识符.

使用的value默认情况下,注释值中指定部分9.7:

第三种注释形式,单元素注释,是一种设计用于单元素注释类型的简写:

SingleElementAnnotation:
   @ TypeName ( ElementValue )
Run Code Online (Sandbox Code Playgroud)

它是正常注释的简写:

   @TypeName ( value = ElementValue )
Run Code Online (Sandbox Code Playgroud)