gpt4 book ai didi

android - 在 Java 7/Android 上向后移植 StreamSupport

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:38 24 4
gpt4 key购买 nike

我的意思是这个图书馆:http://sourceforge.net/projects/streamsupport/

它意味着与 Java8 Streams 兼容,所以我尝试运行 Java8 文档中的一些示例,如下所示:

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

但是 .range 没有在任何地方定义。来自该库文档:

streamsupport is a backport of the Java 8 java.util.function (functional interfaces) and java.util.stream (streams) API for users of Java 6 or 7 supplemented with selected additions from java.util.concurrent which didn't exist back in 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);
}
});

错误信息:

Error:(126, 35) error: method forEach in interface IntStream cannot be applied to given types; required: IntConsumer found: > reason: actual argument > cannot be converted to IntConsumer by method invocation conversion

如果我将 Consumer 更改为 IntConsumer:

Error:(127, 59) error: type IntConsumer does not take parameters

最佳答案

我没有使用过这个库,但是,查看代码 ( 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);
}
});

关于android - 在 Java 7/Android 上向后移植 StreamSupport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32694291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com