Java 注释是否应用于声明语句中的所有变量?
如果使用字段注释在单个语句中声明多个字段,那么注释是否应用于所有字段 例如,以下结果是否会导致Java 注释是否应用于声明语句中的所有变量?,java,annotations,Java,Annotations,如果使用字段注释在单个语句中声明多个字段,那么注释是否应用于所有字段 例如,以下结果是否会导致x、y和z都具有@Nullable注释 @Nullable public Integer x, y, z; 我正在寻找这方面的官方规范,但很难找到。是的,它们都有注释 注释是类型为Integer的修饰符,而不是x的修饰符。所以所有的x,y,z都是类型@Nullable Integer,我想我们能得到的最接近的是: : (因此注释是字段修改器。) 回到§8.3: 通过使用多个声明器,可以在单个Field
x
、y
和z
都具有@Nullable
注释
@Nullable public Integer x, y, z;
我正在寻找这方面的官方规范,但很难找到。是的,它们都有注释
注释是类型为
Integer
的修饰符,而不是x
的修饰符。所以所有的x
,y
,z
都是类型@Nullable Integer
,我想我们能得到的最接近的是:
:
(因此注释是字段修改器。)
回到§8.3:
通过使用多个声明器,可以在单个FieldDeclaration中声明多个字段字段修饰符和unantype应用于声明中的所有声明符
换句话说,假设:
@Nullable public Integer x, y, z;
我们知道字段修饰符@Nullable public
适用于所有x
、y
和z
此外,阅读§8.3的更多内容,并将阐明即使将@Nullable
声明为类型注释(即@Target(ElementType.type_USE)
),情况也是如此:
注释可能出现在程序中的某个语法位置,在该位置它可能合理地应用于声明、类型或两者。这可能发生在五种声明上下文中的任何一种,其中修饰符紧跟在声明实体的类型之前:
- [……]
- 字段声明(包括枚举常量)
- [……]
@Target(ElementType.field)
声明的)。字段声明的语法中也暗示了这一点,其中类型为unnantype
,即unnotated类型
FieldModifier:
(one of)
Annotation public protected private
static final transient volatile
@Nullable public Integer x, y, z;