我是说这个图书馆:http://sourceforge.net/projects/streamsupport/
它意味着与java8流兼容,所以我尝试运行java8文档中的一些示例,如下所示:

IntStream.range(1, 4).forEach(System.out::println);

但是,任何地方都没有定义范围。从图书馆的文件中:
流支持是Java 8 JavaUTIL函数(功能接口)和JavaUTILSTATE(流)API的后端,用于Java 6或7的用户,其补充了JavaUTIL并发的选择添加,后者不存在于Java 6中。
但是:
-我找不到任何一个使用后端口库的例子
-如您所见,我也不能使用java8中最简单的场景。
有谁能给我一些如何使用后端口streamsupport的例子,或者一些到文档的链接吗?
[编辑]
import java8.util.function.Consumer;

IntStreams.range(1, 4).forEach(new Consumer<Integer>(){
         public void accept(Integer next){
                 System.out.println(next);
         }
});

错误消息:
错误:(126,35)错误:接口intstream中的方法foreach不能
应用于给定类型;必需:找到IntConsumer:>原因:实际参数>无法按方法转换为IntConsumer
调用转换
如果我将consumer更改为intconsumer:
错误:(127,59)错误:类型intconsumer不接受参数

最佳答案

我没有使用过这个库,但是,看看代码(http://sourceforge.net/p/streamsupport/code/ci/default/tree/src/main/java/java8/util/stream/IntStreams.java),我认为这应该可以工作

import java8.util.stream.IntStreams;
IntStreams.range(1, 4).forEach(System.out::println);

Java 7风格
import java8.util.stream.IntStreams;
import java8.util.function.IntConsumer;

IntStreams.range(1, 4).forEach(new IntConsumer(){
        public void accept(int next){
                System.out.println(next);
        }
});

更新后切换到IntConsumer。使用下面的普通消费者
import java8.util.stream.IntStreams;
import java8.util.function.Consumer;

IntStreams.range(1, 4)
        .boxed()
        .forEach(new Consumer<Integer>(){
                public void accept(Integer next){
                        System.out.println(next);
                }
});

07-28 02:16