在 Java 7 中的访问修饰符之后放置注释是否合法?还是 Java 8?

Is it legal to put annotation after access modifier in Java 7? Or Java 8?(在 Java 7 中的访问修饰符之后放置注释是否合法?还是 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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用错误)
Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 语句 - 是“或/“和可能的?)
Java Replace Character At Specific Position Of String?(Java替换字符串特定位置的字符?)
What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作数的三元表达式的类型是什么?)
Read a text file and store every single character occurrence(读取文本文件并存储出现的每个字符)
Why do I need to explicitly cast char primitives on byte and short?(为什么我需要在 byte 和 short 上显式转换 char 原语?)