Java lastmodified 的 1.8 编译错误

Java 1.8 compilation error for lastmodified

File lastModified = Arrays.stream(files)
    .filter(File::isDirectory)
    .max(Comparator.comparing(File::lastModified))
    .orElse(null)

上面的代码可以更改为与 1.7 兼容吗?

否,Stream API 仅在 Java 8

可用

upd: 您可以使用 for 循环查找具有最新更改的文件。检查 this post

提供files instanceof File[],应该是这样的:

private static File getFileLastModified(File[] files) {
    File fileLastModified = null;
    long maxLastModified = Long.MIN_VALUE;
    for (File file : files) {
        if (file.isDirectory()) {
            final long lastModified = file.lastModified();
            if (lastModified > maxLastModified) {
                fileLastModified = file;
                maxLastModified = lastModified;
            }
        }
    }
    return fileLastModified;
}

简而言之,它试图找到最后修改的文件。