前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java源码系列(4):String[]和List<String>的区别及相互转换

Java源码系列(4):String[]和List<String>的区别及相互转换

作者头像
陈琛
发布2020-06-12 15:55:21
9490
发布2020-06-12 15:55:21
举报
文章被收录于专栏:陈琛的Redis文章陈琛的Redis文章

Hello,everybody。好几天不见啦,原因是我家丽颖结婚了,打击太大,让我缓缓(emmmmmm,我才不会告诉你们是因为我懒)。咱今天说的是String[]和List<String>的区别哦。

两者的区别

1. 结构方面:

List< String >:泛型,非定长,可变。

String[]:数组,定长,不可变。

2. 使用方面:

他们的作用一样,但是灵活性不一样。

List< String >是可以方便使用的,如果不能确定数组的长度,或者需要不断的像中间插入一个字符串,可以用List< String >。

String[]是定长的,如果能确定字符串数组的长度,使用String[]。

两者的相互转换

先看代码:

public class test { public static void main(String[] args) { //定义一个字符长度为5的字符串 String[] strings = new String[5]; strings[0] = "a"; strings[1] = "b"; strings[2] = "c"; strings[3] = "d"; strings[4] = "e"; //调用Arrays中的asList方法将String[]转化为List<String> List<String> list = Arrays.asList(strings); System.out.println("list<String>:"+list.toString()); //调用toArray方法将List<String>转化为String[] String[] strs = list.toArray(new String[]{}); System.out.println("String[]:"+Arrays.toString(strs)); } }

输出的结果是:

代码中已经写明了两者转换时,所采用的方法,大家好好看代码哦。

本来到这里就结束了,可是我在上面的过程又发现了一个好玩的(拿我丽颖镇楼,虽然已成人妇,哭唧唧)。

下面,如果我在刚才的代码中加入了添加方法,那么结果是什么样的呢,代码如下:

public class test { public static void main(String[] args) { //定义一个字符长度为5的字符串 String[] strings = new String[5]; strings[0] = "a"; strings[1] = "b"; strings[2] = "c"; strings[3] = "d"; strings[4] = "e"; //调用Arrays中的asList方法将String[]转化为List<String> List<String> list = Arrays.asList(strings); System.out.println("list<String>:"+list.toString()); //为list添加一个元素 list.add("f"); System.out.println("list<String>:"+list.toString()); } }

大家猜猜看,这样出来的结果是啥,下篇再说哈。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 学习Java的小姐姐 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档