String[] arrs=String[]{'aaa ',' bbb ',' ccc ',' ddd'}; liststringlist=arrays.as list (arrs ); list.add(EEE ); 坑1:Java.lang.unsupportedoperationexception
问题的原因如下。
调用用Arrays.asList ()创建的List的add、remove方法时报异常,这是Arrays.asList ) )返回的是Arrays的内部类ArrayList,Java.utilist Arrays的内部类ArrayList和java.util.ArrayList都继承了AbstractList,在remove、add等方法AbstractList中是默认的throwunsupport 无法正常工作的java.util.ArrayList重新执行了这些方法,但Arrays的内部类ArrayList没有重新执行,因此抛出异常。 解决方法是解决
String[] arrs=String[]{'aaa ',' bbb ',' ccc ',' ddd'}; //数组是非动态的,所以不能动态添加。 首先将其转换为list,然后操作liststringlist=ArrayList (arrays.as list ) arrs ); list.add(ee )问题2:Java.lang.objectcannotbecastto [ ljava.lang.string ]
string[]arrs=(string[] ) list.toArray ); 解决:
string [ ] arrs=list.to array (new string [ list.size (] );最终实现了,数组中动态添加,与相互转换问题!
String[] arrs=String[]{'aaa ',' bbb ',' ccc ',' ddd'}; //数组是非动态的,所以不能动态添加。 首先将其转换为list,然后操作liststringlist=ArrayList (arrays.as list ) arrs ); 正在将list.add(ee ) list转换为String[] )数组arrs=list.to array new string [ list.size ] ); systim.out.println(arrs; //['aaa '、' bbb '、' ccc '、' ddd'];