Mis*_*hax 8 java annotations language-lawyer
Java语言规范指出,一个正常的注释的格式为
NormalAnnotation:
@ TypeName(ElementValuePairs opt)
单元素注释的格式为:
SingleElementAnnotation:
@ Identifier(ElementValue)
我不明白,为什么这种不一致,为什么是正常的注释TypeName和单个元素注释Identifier?我认为引用Identifier可能是规范中的错误,因为Identifier不合格,javac接受符合条件的AnnotationDeclarations,用于普通注释和单个元素注释.
引用Identifier是规范中的错误,因为标识符不能被限定(您可以写@java.lang.SuppressWarnings("unchecked")但java.lang.SuppressWarnings不是合法标识符).对于普通注释和单个元素注释,Javac接受限定的AnnotationDeclarations.这个错误似乎是最近出现的; 旧版本的JLS没有这个问题.
| 归档时间: |
|
| 查看次数: |
938 次 |
| 最近记录: |