@Documented
@Retention(RUNTIME)
@Target({CONSTRUCTOR,METHOD})
public @interface SafeVarargs
程序员断言带注释的方法或构造函数的主体不会对其 varargs 参数执行潜在的不安全操作。 将此注释应用于方法或构造函数会抑制有关不可具体化的变量 arity (vararg) 类型的未经检查的警告,并抑制有关在调用站点创建参数化数组的未经检查的警告。
除了 Target 元注解施加的使用限制外,编译器还需要对该注解类型实施额外的使用限制; 如果使用 @SafeVarargs 注释对方法或构造函数声明进行注释,则这是编译时错误,并且:
鼓励编译器在将此注释类型应用于方法或构造函数声明时发出警告,其中:
@SafeVarargs // Not actually safe!
static void m(List... stringLists) {
Object[] array = stringLists;
List tmpList = Arrays.asList(42);
array[0] = tmpList; // Semantically invalid, but compiles without warnings
String s = stringLists[0].get(0); // Oh no, ClassCastException at runtime!
}
在运行时导致 ClassCastException。
该平台的未来版本可能会要求此类不安全操作出现编译器错误。
当前名称:创新互联鸿蒙OS教程:鸿蒙OSSafeVarargs
路径分享:http://www.csdahua.cn/qtweb/news27/418277.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网