1.String[] y = x.toArray(new String[0]);
2.String[] y = new String[0];
y = x.toArray(y);
这两个有什么区别呢?实际效果一样吗?相比而言,哪个更优呢?谢谢!
1.String[] y = x.toArray(new String[0]);
2.String[] y = new String[0];
y = x.toArray(y);
这两个有什么区别呢?实际效果一样吗?相比而言,哪个更优呢?谢谢!
两个区别不大,如果考虑性能,第二种效果比较差。
如果x为一个长度为5的ArrayList。
(1)String[] y = new String[0]; 声明了一个变量,y指向一个长度为1的字符数组对象(创建字符数组对象两种情况都有)
(2)x.toArray(y); 将字符数组的引用地址当作参数传递
(3)y = x.toArray(y); 将变量y指向了返回值对象
相比较,多了操作(1)。
不过,对资源要求不是很严格的情况,可以忽略不计。