我需要处理Scala的Java 8流。在Scala中,Java8 ::操作符的等效性是什么?
// Java
IntStream.range(1, 4)
.forEach(System.out::println);
// Scala
IntStream.range(1, 4)
.forEach() // <- ???发布于 2015-12-02 08:15:57
在编译或运行REPL时,您可以使用-Xexperimental来访问将Scala函数转换为所需Java的实验特性:
IntStream.range(1, 4).forEach(System.out.println(_))发布于 2015-12-02 07:56:02
这很简单,就像:
scala> (1 to 4).foreach(println)
1
2
3
4在Scala中,引用方法而不提供参数,如:
def fn(arg: SomeType)
(collection_of_some_type).foreach(fn)被设计成
(collection_of_some_type).foreach(fn(_))这反过来又转化为:
(collection_of_some_type).foreach(next_entry => fn(next_entry))发布于 2015-12-02 08:12:26
scala中方法引用的等效条件如下:
IntStream.range(1, 4)
.forEach(System.out.println _)https://stackoverflow.com/questions/34037423
复制相似问题