这个注解是我在整理lambda的时候写例子中学到的
例如下面这一句标黄的语句:
public static void main(String[] args) {
List list=new ArrayList();
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
for(int x:numbers)
{
if(x%2==0)
System.out.println(x);
};
//lambda
numbers.forEach(x->{
if(x%2==0)
System.out.println(x);
});
}
我们看Arrays类的源码如下:
这里我们看到@safevarargs这个注解,下面我们注解的作用
在声明具有模糊类型(比如:泛型)的可变参数的构造函数或方法时,Java编译器会报unchecked警告。鉴于这些情况,如果程序员断定声明的构造函数和方法的主体不会对其varargs参数执行潜在的不安全的操作,可使用@SafeVarargs进行标记,这样的话,Java编译器就不会报unchecked警告。