当前位置:   article > 正文

【Java必修课】好用的Arrays.asList也有这三个坑_arrays.aslist bug

arrays.aslist bug

好用的asList

在开发或写测试用例的过程中,经常会用到Arrays.asList()这个方法,可以快速方便地将数组转化成一个List。例如:

List<String> list = Arrays.asList("Book", "Pen", "Desk", "Cup");

    当我们静态引用Arrays.asList()后:

    import static java.util.Arrays.asList;

      可以直接这样写:

      List<String> list = asList("Book", "Pen", "Desk", "Cup");

        隐藏的坑

        基本类型不可泛型化

        执行下面测试用例:

        @Test
        public void size() {
          int[] nums = {1, 2, 3, 4, 5, 6};
          List list = asList(nums);
          assertEquals(nums.length, list.size());
        }
        • 1
        • 2
        • 3
        • 4
        • 5

        结果为failed

        java.lang.AssertionError: 
        Expected :6
        Actual   :1
        • 1
        • 2

        为什么明明是6个元素的数组,转化为List后便只有一个元素呢?

        源码是不会说谎的,让我们来看看代码:

        
                        
        本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/982230
        推荐阅读
        相关标签
          

        闽ICP备14008679号