关键词搜索

源码搜索 ×
×

java中的ArrayList to Array

发布2019-09-02浏览684次

详情内容

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()]);
  • 1
  • 2
  • 3
  • 4

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

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

一句搞掂晒。


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]);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载