On Tue, Jan 20, 2015 at 06:59:52PM +0000, Paul Sandoz wrote: > Hi, > > http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8050820-Optional-stream/webrev/ > > This is one of those cases where i think adding a new method to Optional > carries enough weight. > > It can be really awkward to use Optional with Stream.flatMap to map to a > stream of present values. > > It's not at all obvious that one can do > "op.map(Stream::of).orElse(Stream.empty()))" so often one sees some contorted > code of there in the wild. Hopefully adding Optional.stream (and to the > primitive variants) will help reduce such contortions. > > A CCC will be filed. > > Thanks, > Paul.
Hi Paul, My name is Andreas Lundblad, and I joined the langtools team a little more than a year ago. I'm not a Reviewer or anything but I casually read through your patch out of curiosity. You don't seem to be a fan of the ?: operator. I would have written return isPresent() ? Stream.of(value) : Stream.empty(); Any reason for if/else in this case? Also, I find it strange to include { ... } only on the else-branch: + if (!isPresent()) + return Stream.empty(); + else { + return Stream.of(value); + } It's in all of the if-statements in the patch so perhaps it's intentional. I think it looks a bit peculiar. -- Andreas