开发者社区 问答 正文

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

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

展开
收起
蛮大人123 2016-02-21 11:30:07 2071 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 18:45:50
    赞同 展开评论
问答标签:
问答地址: