RFR(s): 8152617 add missing wildcards to Optional or() and flatMap()
paul.sandoz at oracle.com
Fri Oct 7 19:56:27 UTC 2016
> On 7 Oct 2016, at 12:22, Stuart Marks <stuart.marks at oracle.com> wrote:
> On 10/7/16 11:23 AM, Paul Sandoz wrote:
>>> flatMap(Function<? super T, ? extends Optional<? extends U>> mapper)
>> Optional is final so why do you need to express “? extends Optional” ?
> The short answer is, it doesn't work if you don't have it. :-)
I thought as much :-)
> The theoretical answer is that in this context, "? extends P<Q>" means "some subtype of P<Q>" and not necessarily just a subclass of P.
Doh!, yes, that makes sense. Thanks for the detailed explanation. Fix looks good.
More information about the core-libs-dev