它似乎在註釋中有特殊含義 - 它允許您在創建註釋時跳過參數名稱。'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指定:
註解,單元素註釋的第三種形式,是設計用於單元素註釋類型的縮寫:
SingleElementAnnotation: @ TypeName (ElementValue)
這是正常的註解縮寫:
@TypeName (value = ElementValue)
value
是註釋數據放置在其中的默認字段。 value
但是不是java關鍵字(感謝提醒@gustafc)。
This is documented,你會希望它是 - 官方文檔,其中規定在:
在具有單個元素的註釋,元素應該被命名爲價值
和
允許在元素名稱爲值的單元素註釋中省略元素名稱和等號(=)
不,value
是不是 Java中的關鍵字。如果只給一個註釋賦予一個參數,而該註釋只有一個名爲value
的元素,則在使用註釋時可以省略名稱value
。註釋在這裏解釋: http://download.oracle.com/javase/1.5.0/docs/guide/language/annotations.html 並記錄在section 9.7中的JLS:
是的。其他信息:http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html – EinLama
但是,如果我們想要挑剔,'value'不是關鍵字:http://java.sun。 COM /文檔/書籍/ JLS/third_edition/HTML/lexical.html#3.9 – gustafc