数组列表<文件>到数组文件[]

Posted

技术标签:

【中文标题】数组列表<文件>到数组文件[]【英文标题】:Array List<File> to Array File[] 【发布时间】:2013-02-15 00:31:01 【问题描述】:

我必须将 ArrayList 形成一个“正常”的 Array File[]。

File[] fSorted = (File[]) x.toArray();

错误:Cast Exception

Exception in thread "Thread-5" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.io.File;

如何将列表 x 作为 File[ ]-List 返回?

--

我的功能:

private File[] sortFiles(File[] files);

    ArrayList<String> allFiles = new ArrayList<String>() ;
    for (int index = 0; index < files.length; index++)  
      
        File afile = new File(files[index].toString());
        allFiles.add(afile.getPath().toString());

     
    java.util.Collections.sort(allFiles);

    ArrayList<File> x = new ArrayList<File>();
    for(int i = 0; i< allFiles.size(); ++i)
        x.add(new File(allFiles.get(i)));
    
    File[] fSorted = (File[]) x.toArray();

    return fSorted;


【问题讨论】:

Convert ArrayList<String> to String []的可能重复 Convert list to array in java的可能重复 【参考方案1】:

用途:

File[] fSorted = x.toArray(new File[x.size()]);

【讨论】:

+1 我自己,我更喜欢Foo[] array = new Foo[list.size()]; list.toArray(array); 只是为了可读性:)

以上是关于数组列表<文件>到数组文件[]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 List<> 数组中的数据保存到文本文件(C#)?

从 Pandas Dataframe 到 Javascript 数组

java读取文件中多个数据,放入不同数组

MIDI 或 WAV 文件到频率和持续时间的数组

C++如何读取CSV文件并赋值到二维数组里

使用数组 C# WPF 中的项目填充列表框