scala中的forEach显示了预期的:Consumer [_>:Path]实际的:(Path)=>布尔值

Tom*_*rge 4 scala scala-streams

递归删除scala文件时语法错误

Files.walk(path, FileVisitOption.FOLLOW_LINKS)
    .sorted(Comparator.reverseOrder())
    .forEach(Files.deleteIfExists)
Run Code Online (Sandbox Code Playgroud)

Joe*_*e K 5

问题是您正在尝试将scala样式的函数传递给需要Java-8样式的函数的方法。那里有几个库可以进行转换,或者您可以自己编写(并不复杂),或者可能最简单的方法就是将java集合转换为具有foreach期望使用scala样式函数的方法的scala集合。一个论点:

import scala.collection.JavaConverters._

Files.walk(path, FileVisitOption.FOLLOW_LINKS)
        .sorted(Comparator.reverseOrder())
        .iterator().asScala
        .foreach(Files.deleteIfExists)
Run Code Online (Sandbox Code Playgroud)