假设我有两个类和两个方法:
class Scratch {
private class A{}
private class B extends A{}
public Optional<A> getItems(List<String> items){
return items.stream()
.map(s -> new B())
.findFirst();
}
public Optional<A> getItems2(List<String> items){
return Optional.of(
items.stream()
.map(s -> new B())
.findFirst()
.get()
);
}
}
为什么getItems2编译时getItems会给出编译器错误
incompatible types: java.util.Optional<Scratch.B> cannot be converted to java.util.Optional<Scratch.A>
因此,当我返回get的值并用编译器再次包装它时,它会识别继承,但如果我直接使用.OptionalfindFirstOptional.offindFirst
catspeake
ITMISS
桃花长相依
相关分类