专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java基础学习:Java合并数组

Java基础学习:Java合并数组

更新时间:2020-03-23 12:38:22 来源:动力节点 浏览1850次


  通过Arrays.asList(T…a)将数组转换为List,转换后的List只能进行查改,不能进行增删,否则就会跑出异常。


  代码演示:


  importjava.util.Arrays;

  importjava.util.List;

  /**

  *@ClassNameArrayToList

  *@DescriptionTODO

  *@AuthorDD

  *@Date2019/8/610:19

  *@Version5.0

  **/

  publicclassArrayToList{

  publicstaticvoidmain(String[]args){

  String[]sArray=newString[5];

  List<String>list=Arrays.asList(sArray);

  //添加一个元素

  list.add("test");

  System.out.println(list);

  }

  }


  运行结果:


  Exceptioninthread"main"java.lang.UnsupportedOperationException

  	atjava.util.AbstractList.add(AbstractList.java:148)

  	atjava.util.AbstractList.add(AbstractList.java:108)

  	atlottery.ArrayToList.main(ArrayToList.java:19)


  这里在转换之后调用add方法时直接报了一个UnsupportedOperationException异常。


  源码分析:


Java基础学习:Java合并数组


  通过源码分析可以看到,Arrays.asList(sArray)方法返回的是Arrays类里面的一个静态内部类java.util.Arrays.ArrayList,java.util.Arrays.ArrayList类具有get、set、contains等方法,但是并没用重写add、remove方法,所以调用add方法时会报错!


  其它做法:

  importjava.util.ArrayList;

  importjava.util.Arrays;

  importjava.util.Collections;

  importjava.util.List;

  /**

  *@ClassNameArrayToList

  *@DescriptionTODO

  *@AuthorDD

  *@Date2019/8/610:19

  *@Version5.0

  **/

  publicclassArrayToList{

  publicstaticvoidmain(String[]args){

  //第一种

  String[]sArray=newString[5];

  List<String>list=newArrayList<>(Arrays.asList(sArray));

  list.add("test");

  System.out.println(list);

  //第二种

  List<String>list1=newArrayList<String>(5);

  Collections.addAll(list1,sArray);

  list1.add("test");

  System.out.println(list1);

  }


    以上就是动力节点Java培训机构小编介绍的“Java基础学习:Java合并数组”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>