gpt4 book ai didi

java - Java中数组的文件列表

转载 作者:行者123 更新时间:2023-11-29 08:25:14 25 4
gpt4 key购买 nike

我想知道,为什么将 FileArraylist 更改为数组会出现问题。

public static void main(String[] args) {
List<File> pl = new ArrayList<File>();
pl.add(new File ("C:\\folder"));
String[] k;
k = pl.toArray(new String[pl.size()]);
System.out.println(k);
}

在上面的一个简单示例中,我将得到:

Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(Unknown Source)
at Main.main(Main.java:25)

第二个问题:我必须传递 Arraylist 的大小吗?因为这两个版本都适用于字符串数组列表:

k = pl.toArray(new String[pl.size()]);
k = pl.toArray(new String[] {});

最佳答案

你有一个 File 对象列表,你不能把它们放在一个 String 数组中,你需要以某种方式显式转换它们(例如通过调用 File#getName())。最方便的方法可能是使用 Stream:

k = p1.stream().map(File::getName).toArray(String[]::new);

关于java - Java中数组的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53793885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com