jdk 1.7以后追加的
作用:注解抑制编译器警告。在声明具有模糊类型(比如:泛型)的可变参数的构造函数或方法时,Java编译器会报unchecked警告
@SafeVarargs注解不适用于非 static 或非 final 声明的方法。
由Java源代码声明我们了解到:@SafeVarargs注解,只能用于标记构造函数和方法,由于保留策略声明为RUNTIME,所以此注解可以在运行时生效。
package java.lang;
import java.lang.annotation.*;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD})
public @interface SafeVarargs {}
前世今生:
Java @SafeVarargs Annotation | Baeldung