关于String[]数组的一个小问题

1.String[] y = x.toArray(new String[0]);

2.String[] y = new String[0];
y = x.toArray(y);
这两个有什么区别呢?实际效果一样吗?相比而言,哪个更优呢?谢谢!

5个回答

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

ggg123111
ggg123111 嗯 谢谢 项目中我是用的1方法!
接近 6 年之前 回复

没什么区别~~~ 只是第二种更容易阅读

看x是什么了,可能x本身需要和数组进行某些转换操作

ggg123111
ggg123111 List<String> x....... x.add();.... x是类似这么的一个东西
接近 6 年之前 回复

第二种方法有点多余了吧。

第二种是先实例话,然后赋值
第一种是直接初始化

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐