public static void main(String[] args) {
String oldParam = “1,2,4,5,3”;
String[] oldParamArr = StringUtil.split(oldParam, “,”);
List paramValueList = new ArrayList(Arrays.asList(oldParamArr));
System.out.println(“oldParamList:” + paramValueList);
String delParam = “2”;
boolean result = paramValueList.remove(delParam);
System.out.println(“newParamList:” + paramValueList);
if (result && CollectionUtil.isNotEmpty(paramValueList)) {
String newParam = Joiner.on(",").join(paramValueList);
System.out.println(“newParam:” + newParam);
}
}
另 :
使用Arrays.asList()时报错: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没有重新,所以会抛出异常。
解决方法:如上文 new ArrayList(Arrays.asList(oldParamArr))。