简介: 是什么, 用途, 为什么有用
Annotation 是一种元数据(metadata),它本身不是代码,但提供了一些关于代码的数据。这些数据可以是限定代码的一些功能,也可以是增加一些功能。可以将它理解为代码的修饰符,将代码当作一个名词,则Annotation是一个形容词,它使这个名词更加准确、或限定为更小的范围。如红红的苹果,直接说苹果也行,但有了红红的这个形容词,就更加准确了。 Annotation可以向编译器提供一些信息,如检测错误(@Override)、消除编译告警(@SuppressWarning)。 编译期生成代码(@Junit)。运行期提供一些检查机制(@NonNull)。被框架广泛使用。 和comment一样,annotation也能够起到描述代码功能。但它还具有检查机制。 为什么是需要的?有些信息无法通过代码表达出来,此时通过Annotation可以很好的达到。
使用: 一个简单例子,如@Override。系统提供的annotation,做成列表
Java 预定义的annotation
| name | description |
|---|---|
| @Deprecated | 被修饰的元素已经被弃用,不应该再使用。编译器会打印一个告警,如果这个元素还被使用 |
| @Override | 被修饰元素会覆盖基类的定义。 |
| @SuppressWarnings | 消除一个编译告警。接受一个参数 |
| @SafeVarargs | 指明方法不会对varargs做不安全的操作。unchecked 告警会被抑制 |
网友评论 |

