问题:
java中实现数组与List相互转换,及转换后的注意事项
List转数组
Object[] objects = objectList.toArray(new Object[]{});
String[] strings = stringList.toArray(new String[]{});
数组转List
List<Object> objectList = new ArrayList<Object>(Arrays.asList(objects));
List<String> stringList = new ArrayList<String>(Arrays.asList(strings));
注意:
网上有很多不负责人的人会将数组转List直接用如下方式进行
List<Object> objectList = Arrays.asList(objects);
List<String> stringList = Arrays.asList(strings);
虽然编译器不会报错,但这种转换极其不提倡,因为后续如果对list进行remove()或add()时,会报错
Connected to the target VM, address: '127.0.0.1:63420', transport: 'socket'
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(