爪哇 9–@SafeVarargs批注
在本文中,我们将介绍竞彩篮球分析 9。
The
@SafeVarargs
是 an annotation that 是 used to perform safe operations. When a method takes variable arguments, then it may cause to unsafe operation, so the @SafeVarargs
annotation tells to the compiler to perform safe operations. For example, if we don’t use the annotation the compiler reports warning: Type safety: Potential heap pollution via varargs parameter
.
We can use this annotation to 最后
and 静态的
and 私人的
(from 爪哇 9) methods only of a 类. See the example below.
@SafeVarargs批注
让’很少看到有关final和static方法的示例。
@SafeVarargs与最终方法
在此示例中,我们有一个采用var-args参数的最终方法,因此我们使用了@SafeVarargs批注。参见示例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
进口 爪哇.实用程序.数组列表; 进口 爪哇.实用程序.清单; 类 演示打印{ @SafeVarargs 最后 虚空 显示(清单<串>... 清单) { 对于 (清单<串> 清单 : 清单) { 系统.出.打印(清单); } } } 类 主要 { 上市 静态的 虚空 主要(串[] args){ 演示打印 dp = 新 演示打印(); 清单<串> 清单 = 新 数组列表<串>(); 清单.加(“蟒蛇”); 清单.加(“ 爪哇”); dp .显示(清单); } } |
输出量
@SafeVarargs使用静态方法
爪哇 allows using @SafeVarargs
annotation with 静态的 methods as well. See the example with below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
进口 爪哇.实用程序.数组列表; 进口 爪哇.实用程序.清单; 类 演示打印{ @SafeVarargs 静态的 虚空 显示(清单<串>... 清单) { 对于 (清单<串> 清单 : 清单) { 系统.出.打印(清单); } } } 类 主要 { 上市 静态的 虚空 主要(串[] args){ 清单<串> 清单 = 新 数组列表<串>(); 清单.加(“蟒蛇”); 清单.加(“ 爪哇”); 演示打印.显示(清单); } } |
输出量
爪哇 9@SafeVarargs Improvement
In 爪哇 9, It 是 allowed to use @SafeVarargs批注 with 私人的 methods as well. Here, we have a 私人的 method 显示String()
that takes 力量ing type var-args.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
进口 爪哇.实用程序.数组列表; 进口 爪哇.实用程序.清单; 类 演示打印{ @SafeVarargs 静态的 虚空 显示(清单<串>... 清单) { 对于 (清单<串> 清单 : 清单) { 系统.出.打印(清单); } } } 类 主要 { @SafeVarargs 私人的 虚空 显示String(串...弦 ) { 对于 (串 力量 : 弦) { 系统.出.打印(力量); } } 上市 静态的 虚空 主要(串[] args){ 清单<串> 清单 = 新 数组列表<串>(); 清单.加(“蟒蛇”); 清单.加(“ 爪哇”); 演示打印.显示(清单); 主要 主要 = 新 主要(); 主要.显示String(“ 爪哇”,是,“一个”,很棒,“语言”); } } |
输出量
爪哇
是
a
太棒了
语言
Please note that if you use @SafeVarargs
in 私人的 method before 爪哇 9, you will get a compilation error.
没有@SafeVarargs批注
万一我们不’t使用注释,编译将向控制台报告警告消息并输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
类 主要 { 私人的 虚空 显示String(串...弦 ) { 对于 (串 力量 : 弦) { 系统.出.打印(力量); } } 上市 静态的 虚空 主要(串[] args){ 主要 主要 = 新 主要(); 主要.显示String(“ 爪哇”,是,“一个”,很棒,“语言”); } } |
输出量
注意:使用-Xlint:unchecked重新编译以获取详细信息。
爪哇
是
a
太棒了
语言
那’s all about 爪哇 9@SafeVarargs批注.