一、内置注解
Java内置注解 也称 Java标准注解,是Java JDK 中自带的注解。Java 中有许多标准注解,以下是一些常见的标准注解:
1. @Override:用于表示一个方法是重写父类中的方法。
2. @Deprecated:用于标记已经过时的方法或类,提醒开发者不再使用。
3. @SuppressWarnings:用于抑制编译器产生的警告信息。
4. @FunctionalInterface:用于标记一个接口是函数式接口,即只包含一个抽象方法的接口。
5. @SafeVarargs:用于消除关于可变参数方法的警告。
这只是一小部分 Java 中的标准注解,还有更多其他的注解可供使用。
二、示例介绍
2.1.@Override
2.1.1.测试案例
接口层代码:

接口的实现:

2.1.2.使用注意
@Override 用于标识该方法是重写父类的方法,通常用于标识接口的实现方法;
如果试图使用 @Override 标记一个实际上并没有覆写父类的方法时,java 编译器会告警。
2.1.3.源码

2.2.@Deprecated
2.2.1.测试案例
package com.cp.test3;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
@Component
public class TD01 {
    @PostConstruct
    public List<String> setData() {
        List<String> list = new ArrayList<>();
        t_test(list);
        t_prod(list);
        System.out.println("list = " + list);
        return list;
    }
    @Deprecated
    public void t_test(List<String> list){
        list.add("我存放了测试数据!");
    }
    public void t_prod(List<String> list){
        list.add("我存放了生产数据!");
    }
}
2.2.2.运行结果
list = [我存放了测试数据!, 我存放了生产数据!]2.2.3.使用注意
被标注的方法,在使用时如下所示,提示中会出现线条。被注解标注的方法,表示方法已过时或已弃用,提醒开发者谨慎使用,但依旧可以用。

2.2.4.源码

2.3.@SuppressWarnings
2.3.1.测试案例(一)

此时代码在强制转换时,编译器给了高亮显示的警告,在鼠标放到高亮显示处时,右下侧给出了警告原因和建议。此时提醒的是:Unchecked cast(未检查的强制转换)
2.3.2.使用示例

上面使用【单类型抑制警告】,加了注解以后,高亮显示就没了。一般来说,编译器提醒什么,value的值就是什么;例如下面
| 参数 | 作用 | 
|---|---|
| deprecation | 使用了不赞成使用的类或方法时的警告 | 
| unchecked | 执行了未检查的转换时的警告,例如当使用集合时没有用泛型(Generics)来指定集合保存的类型 | 
| fallthrough | 当Switch程序块直接通往下一种情况而没有Break 时的警告 | 
| path | 在类路径、源文件路径等中有不存在的路径时的警告 | 
| serial | 当在可序列化的类上缺少serialVersionUID定义时的警告 | 
| finally | 任何finally子句不能正常完成时的警告 | 
| all | 所有的警告 | 
但有时提醒没准确表达,也可以自定义,只要共同开发者知道也行;可以使用all,直接标识所有,例如下面使用【所有类型抑制警告】:

all 是抑制所有报错,但不规范的使用可能会为程序带来风险,所以一般不推荐用 all 。
2.3.3.测试案例(二)

2.3.4.使用示例

此时是使用多种类型的抑制警告,可以比较清晰的看到实用前后的代码对比。
2.3.5源码




















