繁体   English   中英

@Deprecated 和 @Deprecated() 有什么区别?

[英]What is the difference between @Deprecated vs @Deprecated()?

今天遇到了这个@Deprecated() @Deprecated知道@Deprecated@Deprecated()但两者都解析为编译器Deprecated的相同接口。

它们是不同的还是相同的? 是否有一些练习可以使用一种方法?

他们俩的意思是一样的。 @Deprecated只是@Deprecated()简写。 见第9.7.2 节。 Java 语言规范的标记注解

标记注释是设计用于标记注释类型(第 9.6.1 节)的速记。

 MarkerAnnotation: @ TypeName

它是普通注释的简写:

 @TypeName()

对带有元素的注释类型使用标记注释是合法的,只要所有元素都有默认值(第 9.6.2 节)。

例 9.7.2-1。 标记注释

以下是使用 §9.6.1 中的Preliminary标记注释类型的示例:

 @Preliminary public class TimeTravel { ... }

从 Java 8 开始, @Deprecated注释没有元素,因此它只能是标记注释。 但是,从 Java 9 开始,它现在有两个元素: sinceforRemoval 但是由于这些元素具有默认值,因此注释仍然可以用作标记注释。

它不是一个接口,它是一个注解 @Deprecated@Deprecated()是一样的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM