0
点赞
收藏
分享

微信扫一扫

java中的ArrayList to Array

火热如冰 2022-08-15 阅读 62


java里面,ArrayList是可变数组,Array是固定长度数组。如果ArrayList转换为Array,需要大费周折。

上代码:

//已知helper.getFtpFileNameList()返回ArrayList<String>类型的数组
ArrayList<String> list = getHelper().getFtpFileNameList("/",path);
//转换成Array的时候,一定要指明Array的长度
String[] array = list.toArray(new String[list.size()]);

这样写比较啰嗦,可以变成stream,以便用lambda表达式,也不必声明一个多余的list变量:

String[] array = getHelper().getFtpFileNameList("/",path)
.stream()
.toArray(size -> new String[size]);

一句搞掂晒。

2019.09.03
c#中,linq里有select,类似SQL,从众多字段中指定若干。java的stream里面类似的功能是map。如下示例:

File folder = new File(path);
if(!folder.exists()){
throw new Exception("文件不存在或路径错误!");
}
File[] files = folder.listFiles();
if (files.length == 0) {
throw new Exception("文件夹是空的!");
}
String[] array = Arrays.stream(files)
.map(File::getName)
.toArray(size -> new String[size]);


举报

相关推荐

0 条评论