mar*_*ouf 9 java generics lambda java-8 java-stream
为什么Java的没有选择这个签名<T> Stream <T> Stream.generate (Supplier <? extends T> supplier)在这一个<T> Stream <T> Stream.generate (Supplier <T> supplier)?
我的意思是下面的例子(不编译)是正确的,因为字符串的供应商在一个密码序列流中也是有效的吗?
Supplier <String> constantHello = () -> "Hello";
long count = Stream.<CharSequence>generate(constantHello).count();
Run Code Online (Sandbox Code Playgroud)
这是一个错误.请参阅https://bugs.openjdk.java.net/browse/JDK-8132097
它已在java 9中得到纠正.正如您在此处所看到的,现在是方法声明
static <T> Stream<T> generate?(Supplier<? extends T> s)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |