使用与Java 7 编译器的streamsupportjavac我遇到以下编译错误:
接口java8.util.stream.Stream <T>中的[ERROR]方法映射不能应用于给定类型; 需要[ERROR]:java8.util.function.Function <?超级java.lang.Object,?扩展R>
[ERROR]发现:<anonymous java8.util.function.Function <java.lang.Integer,java.lang.String >> [ERROR]原因:没有类型变量的实例R存在以便参数类型<anonymous java8.util.function.Function <java.lang.Integer,java.lang.String >>符合形式参数类型java8.util.function.Function <?超级java.lang.Object,?扩展R>
我的代码是
List<Object> listSum = RefStreams.iterate(0, new UnaryOperator<Integer>() {
@Override
public Integer apply(Integer n) {
return n+1;
}
}).limit(10000).map(new Function<Integer,String>() {
@Override
public String apply(Integer n) {
return String.format("%04d", n);
}
}).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我想知道该怎么做以及为什么会出现这个错误?谢谢