您的位置:首页 > 其它

Arrays.asList使用注意

2017-09-15 16:33 405 查看
当传入的是基本类型时,会把传过来的数组作为list的第一个元素:

[java] view
plain copy

public class ArraysasList {  

  

    public static void main(String[] args) {  

        int[] a = {1,2,3,4,8,10,22,12,214,23};  

        String[] b = {"a","b","c"};  

        Integer[] c = {1,2,3,4,8,10,22,12,214,23};  

        System.out.println(a);  

        System.out.println(Arrays.asList(b));  

        System.out.println(Arrays.asList(c));  

    }  

  

}  

输出结果:

[I@179935d

[a, b, c]

[1, 2, 3, 4, 8, 10, 22, 12, 214, 23]

Arrays第二个问题,在添加或者删除的时候会报错:

[java] view
plain copy

public class ArraysasList {  

  

    public static void main(String[] args) {  

        int[] a = {1,2,3,4,8,10,22,12,214,23};  

        String[] b = {"a","b","c"};  

        Integer[] c = {1,2,3,4,8,10,22,12,214,23};  

        System.out.println(a);  

        System.out.println(Arrays.asList(b));  

        System.out.println(Arrays.asList(c));  

          

        List<String> bList = Arrays.asList(b);  

        bList.add("d");  

        System.out.println(bList);  

    }  

}  

Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(AbstractList.java:148)
    at java.util.AbstractList.add(AbstractList.java:108)
    at ArraysasList.main(ArraysasList.java:16)

源码中写到:

public
 
void
 
add(
int
 
index,
E element) {
07
    
throw
 
new
 
UnsupportedOperationException();
08
}
09
  
 
10
public
 
E
remove(
int
 
index)
{
11
    
throw
 
new
 
UnsupportedOperationException();
12
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: