Java从String[]数组中删除指定元素的注意事项
实际上,首先要解决的问题是删除String[]数组中指定的元素。
但是,我们发现需要先转换为List (如果有方法不转换为List,我们欢迎您的消息),并直接发现了:list1.remove('2) )。 报告错误
String items[]={'1'、'2'、'3'、'4'、'5'};
listlist1=Arrays.aslist(items ); //将数组转换为列表
/*
直接:list1.remove('2); 弄错:
exceptioninthread ' main ' Java.lang.unsupportedoperationexception
*/
在网上发现了错误的原因:
调用Arrays.asList ()生成的List的add、remove方法时报异常,这是Arrays.asList )返回的市Arrays的内部类ArrayList,java.util.ArrayList Arrays的内部类ArrayList和java.util.ArrayList都继承了AbstractList,在remove、add等方法AbstractList中是默认的throwunsupport 无法正常工作的java.util.ArrayList重新执行了这些方法,但Arrays的内部类ArrayList没有重新执行,因此抛出异常。
解决方法:加入列表阵列=新阵列列表(列表1 ); //
String items[]={'1'、'2'、'3'、'4'、'5'};
for(stringa:items ) )。
系统. out.println (a;
listlist1=Arrays.aslist(items );
列表arrlist=new ArrayList (列表1; //
Arrlist.remove('4);
system.out.println(Arrlist;
执行结果:
1
2
3
4
5
[ 1,2,3,5 ]