Nulls

Tim Peierls tim at peierls.net
Fri Sep 21 10:16:46 PDT 2012


On Fri, Sep 21, 2012 at 12:36 PM, Brian Goetz <brian.goetz at oracle.com>wrote:

> But this leaves us with now three ways of saying "no value"
>
>  - reference to Optional is null
>  - Optional is empty
>  - Optional is not empty but contains null
>
> And this just kicks the NPE can down the street.


Which would vitiate the main reason to introduce Optional in the first
place. I like Optional and would hate to see it gutted this way.

I want to eat my cake and have it, too:

   1. Outlaw null from collections (and as a value for Optiona), blowing up
   noisily if null encountered.
   2. *Maybe *allow narrow exception to previous for combined filter/map
   and the like as efficient shortcut.
   3. Use Optional for return values where there might not be a result.
   4. Provide non-Optional-returning variants that take a non-null default
   return value to avoid object creation *in some cases*.

That makes things hard for people who like to put nulls in their
collections (e.g., Joe), but things are pretty grim for those people
already: All the really cool collections out there forbid nulls. ;-)

--tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/lambda-libs-spec-experts/attachments/20120921/e12ed484/attachment.html 


More information about the lambda-libs-spec-experts mailing list