美文网首页
@SafeVarargs(随笔)

@SafeVarargs(随笔)

作者: 简楼 | 来源:发表于2021-04-16 21:15 被阅读0次

前言

@SafeVarargs 在 JDK7 中引入。

作用

是告诉编译器,在可变长参数中的泛型是类型安全的;
可变长参数是使用数组存储的,而数组和泛型不能很好的混合使用;

使用范围

@SafeVarargs 注解可以用于构造方法;
@SafeVarargs 注解可以用于 static 或 final 方法;

示例

public class SafeVarargsAnnotationDemo {
    /**
     * 此方法实际上并不安全,不使用此注解,编译时会告警
     */
    @SafeVarargs
    static void wrongMethod(List<String>... stringLists) {
        Object[] array = stringLists;
        List<Integer> tmpList = Arrays.asList(42);
        array[0] = tmpList; // 语法错误,但是编译不告警
        String s = stringLists[0].get(0); // 运行时报 ClassCastException
    }

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");

        List<String> list2 = new ArrayList<>();
        list.add("1");
        list.add("2");

        wrongMethod(list, list2);
    }
}

上述示例如果不使用@SafeVarargs,编译时会告警;

相关文章

  • @SafeVarargs(随笔)

    前言 @SafeVarargs 在 JDK7 中引入。 作用 是告诉编译器,在可变长参数中的泛型是类型安全的;可变...

  • 注释&注解

    @Override、@Deprecated、@SuppressWarnings@SafeVarargs@Funct...

  • Java 9 小改动

    开发环境 eclipse 4.7.3a jdk 9 私有方法上使用 @SafeVarargs 注解 说明可变长度的...

  • 点评不只是为了链接——007践行之旅(13)

    (太累了,回头更新) 周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末...

  • 这是一个随笔

    这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这...

  • 《黄泓圣杂文随笔》

    《黄泓圣杂文随笔》 #杂文#随笔#杂文随笔#原创#原创杂文#原创随笔#原创杂文随笔#黄泓圣杂文#黄泓圣随笔#黄泓圣...

  • 《黄泓圣杂文随笔》

    《黄泓圣杂文》 《黄泓圣杂文随笔》 《黄泓圣随笔》 《黄泓圣原创杂文随笔》 #原创#杂文#杂文随笔#随笔#原创杂文...

  • 《黄泓圣杂文随笔》

    《黄泓圣杂文》 《黄泓圣杂文随笔》 《黄泓圣随笔》 《黄泓圣原创杂文随笔》 #原创#杂文#杂文随笔#随笔#原创杂文...

  • 走近大丰港实验学校

    随笔组汇报 杨忠琴教育随笔让我改变 随笔收获多,只要有行动,就有收获。 沈莲汇报随笔,每天随笔撰写,收获颇深,每的...

  • 谈谈教育随笔(2)

    谈谈教育随笔(2) 什么是教育随笔?顾名思义,教育随笔就是谈教育思想、观点的随笔。教育随笔的特色在于一个“随”字-...

网友评论

      本文标题:@SafeVarargs(随笔)

      本文链接:https://www.haomeiwen.com/subject/cohylltx.html