List集合增删元素时,UnsupportedOperationException报错问题
2024-10-22 05:09:47
我的情况是这样:从数组转集合,操作集合删除元素。
// Tab页面标题
第一步:String[] mTitles = getResources().getStringArray(R.array.leads_details_tab);
第二步:List<String> titles= Arrays.asList(mTitles);
.
.
.
第三步:titles.remove(1);-------->异常:java.lang.UnsupportedOperationException
分析报错原因:
第二步中 Arrays.asList(mTitles)生成的ArrayList与我们正常增删操作的ArrayList不是同一个。
1.正常增删操作的ArrayList是java.util下的ArrayList类,内部封装了增删的逻辑。
2.Arrays.asList(mTitles)生成的ArrayList,是java.util下的Arrays类中的内部类ArrayList。该内部类中没有封装增删的方法,所有我们看它的父类AbstractList,
AbstractList类中封装的增删方法是下面的样子:
从上面AbstractList类中封装的增删方法就能发现我们为什么会报UnsupportedOperationException异常了。
最新文章
- Java堆、栈和常量池以及相关String的详细讲解
- Android课程---课下练习(表格、线性和相对布局)
- 关于inf的问题
- 提高神经网络的学习方式Improving the way neural networks learn
- 剑指offer--面试题20
- 打通ssh的方法
- iOS关于sqlite3操作
- Delphi IDHTTP用法详解(六种用法)
- JavaScript高级程序设计:第十四章
- Visual Studio 2017 离线安装方式
- poj 1845 (逆元 + 约数和)
- bzoj1913[Apio2010]signaling 信号覆盖 计算几何
- 安卓开发_浅谈AsyncTask
- 自己写一个java的mvc框架吧(一)
- js的正则匹配 和 blur
- python基础(基础数据类型)
- datetime之 utcnow 和now的用法
- oracle 将当前系统时间戳插入timestamp字段
- flask内置函数 send_static_file(filename)
- springboot整合mybatis,redis,代码(二)