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

Reply via email to