use*_*663 2 java java-8 java-stream
我发现的所有示例都使用其他类型信息来推断其类型Stream.empty().似乎应该有语法允许我直接投射它.这个例子有效:
import java.util.*;
import java.util.stream.*;
class OptionalBasics {
static void test(Optional<String> optString) {
if(optString.isPresent())
System.out.println(optString.get());
else
System.out.println("Nothing inside!");
}
public static void main(String[] args) {
Stream<String> s = Stream.empty();
test(s.findFirst());
test(Stream.of("Epithets").findFirst());
}
}
/* Output:
Nothing inside!
Epithets
*/
Run Code Online (Sandbox Code Playgroud)
但请注意,我必须s单独创建才能提供类型信息Stream.empty().我想在调用中创建它
test(),就像这样(这不起作用):
test(Stream<String>.empty().findFirst());
Run Code Online (Sandbox Code Playgroud)
是否有用于设置调用类型的语法Stream.empty()?