Nulls
Remi Forax
forax at univ-mlv.fr
Sat Sep 22 10:40:42 PDT 2012
On 09/22/2012 07:39 PM, Brian Goetz wrote:
> This is a pretty simple (maybe simpler) rule:
> - Streams are completely null-oblivious (we don't treat them
> specially at all)
> - Option is null-hostile.
>
> The Stream just passes values along, null or not, whether it be to
> user-supplied lambdas, the Option ctor, the add() method of a
> collection provided to into(), etc; if that recipient can't handle it,
> it blows up there. If that recipient wants to ignore nulls, that's OK
> too -- it's outside of the Streams API spec. Then this mostly becomes
> a property of Optional. (And, if we provide a default-bearing version
> too, if people want the null, they can use the other version.)
+1
Rémi
>
> On 9/22/2012 1:16 PM, Doug Lea wrote:
>> On 09/22/12 13:04, Brian Goetz wrote:
>>
>>> I would rather not punish everyone because some idiot puts nulls in a
>>> collection
>>
>> Unless that punishment is reduced to essentially nothing
>> (even (especially?) if it leads to even worse punishment for offenders).
>>
>> Remember that JVMs must do null checks all the time anyway.
>> Keeping track of whether you've even seen one, and thus must
>> throw away and/or repack a destination seems too cheap to
>> stand in the way of having a nicer rule.
>>
>> -Doug
>>
More information about the lambda-libs-spec-experts
mailing list