Let\'s say I have two classes and two methods:
class Scratch {
private class A{}
private class B extends A{}
public Optional getItems(List&
The issue you have is with inheritance for generics. Optional< B > doesn't extend Optional< A >, so it can't be returned as such.
I'd imagine that something like this:
public Optional extends A> getItems( List items){
return items.stream()
.map(s -> new B())
.findFirst();
}
Or:
public Optional> getItems( List items){
return items.stream()
.map(s -> new B())
.findFirst();
}
Would work fine, depending on your needs.
Edit: escaping some characters