Eev*_*evy 4 lambda scala java-8 java-stream
(阶)
Files.walk(Paths.get("")).forEach(x => log.info(x.toString))
Run Code Online (Sandbox Code Playgroud)
给
Error:(21, 16) missing parameter type
.forEach(x => log.info(x.toString))
^
Run Code Online (Sandbox Code Playgroud)
和(java8)
Files.walk(Paths.get("")).forEach(x -> System.out.println(x.toString()));
Run Code Online (Sandbox Code Playgroud)
工作良好
怎么了?
stream.forEach(x -> foo()) 在java中是语法糖
stream.forEach(
new Consumer<Path> { public void accept(Path x) { foo(); } }
)
Run Code Online (Sandbox Code Playgroud)
这与x => ...scala 完全不同,scala是一个实例Function[Path,Unit].
试试这个;
Files.walk(Paths.get(""))
.forEach(new Consumer[Path] { def accept(s: Path) = println(s) })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
933 次 |
| 最近记录: |