我想创建一个比较器,它基于由我构建的方法(需要一个文件)创建的字符串在文件之间进行比较。
“getType”是我自己的函数(我不能对 File 以外的文件使用不同的类)。我试过这个:
private static Comparator<File> typeComparator = (File file1, File file2)-> getType(file1.getName()).compareTo(getType(file2.getName()));
但 IntelliJ 不接受,说应该用 Comparator.comparing 代替。我不明白该怎么做,因为据我了解,在 Comparator.comparing 中我只能使用文件的属性,而不能使用我自己的函数。
private static String getType(String fileName) {
int i = fileName.lastIndexOf('.');
if (i > 0) {
return fileName.substring(i+1);
}
return "";
}
如果可能的话,我想使用 Comparator.comparing 或比我的更好的不同方式来实现比较。
万千封印
缥缈止盈
紫衣仙女
随时随地看视频慕课网APP
相关分类