Java 刪除String[] 數組中的指定元素 注意事項


Java 刪除String[] 數組中的指定元素 注意事項

實際上最初想要解決的問題是:刪除String[] 數組中指定的元素。

然而,發現需要先轉換成List(如果你有不需要轉換成List的方法歡迎留言),發現直接: list1.remove("2");會報錯

String items[] = {"1","2","3","4","5"};
List<String> list1=Arrays.asList(items);//將數組轉換為list
/*
發現直接: list1.remove("2");會報錯:
Exception in thread "main" java.lang.UnsupportedOperationException 
*/

網上找到報錯原因:
調用Arrays.asList()生產的List的add、remove方法時報異常,這是由Arrays.asList() 返回的市Arrays的內部類ArrayList, 而不是java.util.ArrayList。Arrays的內部類ArrayList和java.util.ArrayList都是繼承AbstractList,remove、add等方法AbstractList中是默認throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重新了這些方法而Arrays的內部類ArrayList沒有重新,所以會拋出異常。

(出自:https://blog.csdn.net/lin451791119/article/details/82705557)

解決方法:加入 List arrList = new ArrayList (list1); //

String items[] = {"1","2","3","4","5"};
for(String a:items)
    System.out.println(a);
List<String> list1=Arrays.asList(items);
List<String> arrList = new ArrayList<String>(list1); //
arrList.remove("4");
System.out.println(arrList);

運行結果:

1
2
3
4
5
[1, 2, 3, 5]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM