Java 9 JShell :


在 Java 9 的JShell中 跟Kotlin 的REPL中尽情体验函数式编程乐趣吧_封装

螢幕快照 2017-09-25 22.58.02.png

jshell> List<String> alphabet = List.of("a","b","c")
alphabet ==> [a, b, c]

jshell> alphabet.stream().map((e) -> {return e.toUpperCase();}).collect(Collectors.toList());
$6 ==> [A, B, C]

jshell> alphabet
alphabet ==> [a, b, c]

Kotlin REPL:


在 Java 9 的JShell中 跟Kotlin 的REPL中尽情体验函数式编程乐趣吧_封装_02

螢幕快照 2017-09-25 22.58.17.png

>>> val alphabet = listOf("a","b","c")
>>> alphabet
[a, b, c]
>>> alphabet.map{it->it.toUpperCase()}
[A, B, C]
>>> alphabet
[a, b, c]

相比之下, 我们不得不说,Java 8,9中的 Stream API 还是有点啰嗦,绕来绕去。不如Kotlin来得直截了当,简单优雅。

毕竟,Kotlin 是对 Java 语言的更高层次的抽象封装,相比之下, 只能是 “青出于蓝而胜于蓝”。