@SafeVarargs注解的使用

 这个注解是我在整理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警告。

posted @ 2020-03-27 07:17  夹竹桃  阅读(305)  评论(0编辑  收藏  举报