gpt4 book ai didi

java - 如何使用修改日期对文件进行排序?

转载 作者:行者123 更新时间:2023-11-29 21:39:10 24 4
gpt4 key购买 nike

我正在尝试获取目录中的文件列表,按修改日期排序。这是我正在使用的代码

public static void sortFilesByLastModifiedDate(ArrayList<String> myfiles) {
String[] myfile = new String[myfiles.size()];
myfile = myfiles.toArray(myfile);

Comparator<File> comparator = new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return Long.valueOf(o1.lastModified()).
compareTo(o2.lastModified());
}
};
Arrays.sort(myfile, comparator);

}

Arrays.sort(myfile, comparator);控制台在此代码中显示错误方法sort(T[], Comparator<? super T>)数组类型不适用于参数 (String[], Comparator<File>)

请建议如何解决这个问题?

最佳答案

要么更改您的列表以包含 File 对象,要么更改您的比较器以对 String 对象进行操作。

我会推荐前一个选项。这允许您在将文件传递到比较器之前确定文件是否存在。注意 File.lastModified()如果文件不存在(这可能是意外的),则返回 0

作为mentioned in the comments ,您可以使用 Collections.sort() 对列表进行排序,因此您无需转换为数组。

关于java - 如何使用修改日期对文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17570453/

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