【发布时间】:2015-04-07 16:36:43
【问题描述】:
我正在尝试掌握新的 java8 流。
我需要生成具有某些特征的无限元组流:
元组将具有三个 int 值,a、b 和 c。
其中b 和c 只是计数器,可以在for 循环中使用:
for (int c = 1;; c++) {
for (int b = 1; b < c; b++) {
...
}
}
然后我会使用过滤器来计算a
我创建了一个TupleFactory:
class TupleFactory {
private static int b = 1;
private static int c = 1;
public static Tuple next(){
if (b >= c - 1)
c++;
else
b++;
return new MyTuple (1,b,c);
}
}
然后我想生成Stream<Tuple>:
Supplier<Tuple> anyTuple = s -> TupleFactory.next();
Stream<Tuple> result = Stream.generate(anyTuple);
我得到一个:
Lambda 表达式的签名与函数式接口方法
get()的签名不匹配
在我定义供应商的那一行...
有什么线索吗?
【问题讨论】:
标签: java lambda java-8 java-stream