zoukankan      html  css  js  c++  java
  • Arrays.asList 分析

    问题 一:

    代码如下:

        int [] arr = new int[5];
        arr[0]=1;
        arr[1]=2;
        arr[2]=3;
        arr[3]=4;
        arr[4]=5;
        List<int[]> list  =  Arrays.asList(arr);
        list.remove(0);


    运行后 :

    Exception in thread "main" java.lang.UnsupportedOperationException
    	at java.util.AbstractList.remove(AbstractList.java:144)
    	at test.testArr23.main(testArr23.java:18)
    


    原因分析

    Arrays.asList 返回的List类型为 Arrays 的内部类的类型 : private static class ArrayList<E> extends AbstractList<E>

    只是 最简 实现的接口和抽象类,导致

    AbstractList<E> 中未抽象方法  抛出异常<span style="font-family: Arial, Helvetica, sans-serif;">UnsupportedOperationException</span>.
    类似如下:
    <pre name="code" class="html"> public E set(int index, E element) {
    <span style="white-space:pre">	</span>throw new UnsupportedOperationException();
      }
    
    
    
      public void add(int index, E element) {
    <span style="white-space:pre">	</span>throw new UnsupportedOperationException();
      }
    
        public E remove(int index) {
    <span style="white-space:pre">	</span>throw new UnsupportedOperationException();
      }
    
    </pre><pre name="code" class="html">问题 一:
    代码如下:
    int[] arr = new int[5];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;
        arr[3] = 4;
        arr[4] = 5;
        String[] strArr = new String[3];
        strArr[0] = "11";
        strArr[1] = "22";
        strArr[2] = "33";
    <h2>    <span style="font-family:SimHei;"> List<String> strlist = Arrays.asList(strArr);
        List<int[]> arrlist = Arrays.asList(arr);
    </span><span style="font-family:SimHei;">   </span></h2>    for (String j : strlist)
        {
          System.out.println(j);
        }
    
    
        for (int j : arrlist.get(0))
        {
          System.out.println(j);
        }
    
    
    
    
  • 相关阅读:
    linux配置ssh互信
    查看LINUX进程内存占用情况
    RSync实现文件备份同步详解
    rsync同步完整配置
    Linux下利用rsync实现多服务器文件同步
    Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)
    Linux大文件分割split和合并cat使用方法
    Linux计划任务入门详解
    一步一步理解最大熵模型
    一步一步理解word2Vec
  • 原文地址:https://www.cnblogs.com/xue88ming/p/7183023.html
Copyright © 2011-2022 走看看