先说一下我想移除字符串中的指定元素
public static void main(String[] args) {
String str = "a,b,c,s,g";
String delChar = "s";
System.out.println(deleteString(str,delChar));
}
将字符串转为数字,移除数组中的元素来实现我的目的
public static String deleteString(String str, String delChar){
List<String> list = Arrays.asList(str.split(","));
for (String s : list) {
if(s.equals(delChar)){
list.remove(s);
}
}
return StringUtils.join(list, ",");
}
这个时候 去运行代码 会发现报错
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at java.util.AbstractCollection.remove(AbstractCollection.java:293)
解决方法很简答,绕来这种做法
public static String deleteString(String str, String delChar){
/*List<String> list = Arrays.asList(str.split(","));
for (String s : list) {
if(s.equals(delChar)){
list.remove(s);
}
}*/
List<String> list = new ArrayList<String>();
for(String t : str.split(",")){
list.add(t);
}
list.remove(delChar);
return StringUtils.join(list, ",");
}
这样就完美解决我的问题。