ArrayList - 如何实现数组和List之间的转换
ArrayList - 如何实现数组和List之间的转换
数组转List,使用Arrays工具类中的asList方法
List转数组,调用toArray方法,传入初始化长度的数组对象,返回
用Arrays.asList转成List后,如果修改了数组的内容,list受影响吗?
答案 -> 会收到影响,看源码,返回一个new ArrayList但是,它调用的是内部类的一个方法,在方法中,并没有涉及到对象的创建,而只是使用了对象的引用。那么这样数组和集合就指向了同一个地址,所以会受影响。
List用toArray转数组后,如果修改了List的内容,数组受影响吗?
答案 -> 不受影响,看源码,在toArray方法中,传了一个有长度的数组,首先会先判断数组长度是否小于List的长度,如果小于说明List的长度足够容纳数组的长度,那么久拷贝一份并且返回回去。其实这个无论如何都会拷贝一份到新的数组中并返回,所以不会受到影响