Java基礎(chǔ)學(xué)習(xí):Java合并數(shù)組

Java基礎(chǔ)學(xué)習(xí):Java合并數(shù)組

長沙牛耳教育      2022-04-16 06:21:01     2

Java基礎(chǔ)學(xué)習(xí):Java合并數(shù)組,  通過Arrays.asList(T…a)將數(shù)組轉(zhuǎn)換為List,轉(zhuǎn)換后的List只能進(jìn)行查改,不能進(jìn)行增刪,否則就會跑出異常?! 〈a演示:  

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹


  通過Arrays.asList(T…a)將數(shù)組轉(zhuǎn)換為List,轉(zhuǎn)換后的List只能進(jìn)行查改,不能進(jìn)行增刪,否則就會跑出異常。


  代碼演示:


  importjava.util.Arrays;  importjava.util.List;    publicclassArrayToList{  publicstaticvoidmain(String[]args){  String[]sArray=newString[5];  List<String>list=Arrays.asList(sArray);  //添加一個元素  list.add("test");  System.out.println(list);  }  }


  運(yùn)行結(jié)果:


  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)


  這里在轉(zhuǎn)換之后調(diào)用add方法時直接報了一個UnsupportedOperationException異常。


  源碼分析:



  通過源碼分析可以看到,Arrays.asList(sArray)方法返回的是Arrays類里面的一個靜態(tài)內(nèi)部類java.util.Arrays.ArrayList,java.util.Arrays.ArrayList類具有g(shù)et、set、contains等方法,但是并沒用重寫add、remove方法,所以調(diào)用add方法時會報錯!


  其它做法:

  importjava.util.ArrayList;  importjava.util.Arrays;  importjava.util.Collections;  importjava.util.List;    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培訓(xùn)機(jī)構(gòu)小編介紹的“Java基礎(chǔ)學(xué)習(xí):Java合并數(shù)組”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。


Java基礎(chǔ)學(xué)習(xí)

培訓(xùn)啦提醒您:交易時請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。