Is it legal to put annotation after access modifier in Java 7? Or Java 8?(在 Java 7 中的访问修饰符之后放置注释是否合法?还是 Java 8?)
问题描述
这是通常的代码:
@Autowire
private Service service;
但是对于 Java 7,这也可以(并且更短):
But with Java 7 this also works (and shorter):
private @Autowire Service service;
这在 Java 8 中合法吗(具有相同的语义)?这是不好的编码习惯吗?
Is that legal in Java 8 (have same semantic)? Is that bad coding practice?
推荐答案
根据文档
在 Java 7 中:
In Java 7 :
注解可以应用于声明:类的声明,字段、方法和其他程序元素.当用于声明时,每个注释通常会单独出现,按照惯例行.
Annotations can be applied to declarations: declarations of classes, fields, methods, and other program elements. When used on a declaration, each annotation often appears, by convention, on its own line.
从 Java SE 8 版本开始,注解也可以应用于类型的使用.:
As of the Java SE 8 release, annotations can also be applied to the use of types. :
类实例创建表达式:
new @Interned MyObject();
类型转换:
myString = (@NonNull String) str;
实现子句:
class UnmodifiableList<T> implements
@Readonly List<@Readonly T> { ... }
抛出异常声明:
void monitorTemperature() throws
@Critical TemperatureException { ... }
这篇关于在 Java 7 中的访问修饰符之后放置注释是否合法?还是 Java 8?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Java 7 中的访问修饰符之后放置注释是否合法?还是 Java 8?


基础教程推荐
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01