java从列表中删除元素,提示(UnsupportedOperationException)-如何处理呢?
下文笔者分享一个今天从列表中删除元素,报"UnsupportedOperationException"异常的解决方法分享,如下所示
学习完这篇文章后,你将掌握从列表中删除元素的技巧
例:报错代码
学习完这篇文章后,你将掌握从列表中删除元素的技巧
例:报错代码
public static String SelectRandomFromTemplate(String template,int count) {
String[] split = template.split("|");
list<String> list=Arrays.asList(split);
Random r = new Random();
while( list.size() > count ) {
list.remove(r.nextInt(list.size()));
}
return StringUtils.join(list, ", ");
}
ERROR/AndroidRuntime: java.lang.UnsupportedOperationException
ERROR/AndroidRuntime: at java.util.AbstractList.remove(AbstractList.java:645)
以上代码的错误之处
Arrays.asList返回一个只读数组,并不能对其进行删除操作
我们可以采用以下方法进行改进,如下所示
List<String> list = new LinkedList<String>(Arrays.asList(split));
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


