解析String 字符串为List集合
ArrayList<String> itemsList= Arrays.asList(items.split("\\|")
List<String> itemsList= Arrays.asList(items.split("\\|")
final Iterator<String> iterator = itemsList.iterator();
while (iterator.hasNext()) {
final String pushItem = iterator.next();
log.info("pushItem:{}", pushItem);
if (xxx) {
iterator.remove();
continue;
}
}
会报错
问题排查参考文档:https://blog.csdn.net/thekenofdis/article/details/78289067
Arrays.asList返回的是一个java.util.ArrayList但实际上并不是,返回的实际上是一个静态内部类ArrayList,而该类虽然继承了AbstractList,但是并没有Override抽象类中关于新增、删除的方法,因此才会抛出UnsupportedOperationException异常。
解决方案
ArrayList<String> itemsList = new ArrayList<>(Arrays.asList(items.split("\\|")));