lambda expression parameters
Peter Levart
peter.levart at gmail.com
Tue Dec 18 15:16:34 PST 2012
What about "sole" final, like:
Predicate<String> isUpper = (final s) -> s.toUppercase().equals(s);
Regards, Peter
On 12/18/2012 11:31 PM, Brian Goetz wrote:
> Agreed that this is something that has the right "nudge" to it.
>
> One downside is that there is no keyword for "not final." Which means
> this is not a question about "final by default", but "final by decree",
> unless we're willing to introduce new syntax for mutable (which we're
> not.) That's not terrible -- most people would probably never even
> notice. So, reasonable suggestion.
>
>
>
> On 12/18/2012 4:40 PM, Venkat Subramaniam wrote:
>> Hi
>>
>> Is there plans to make the inferred parameter of a lambda expression final by default.
>> Right now, we can't specify the parameter is final unless we provide it with the type.
>>
>> In the spirit of leaning towards immutability, which is a better practice, would it be possible to
>>
>> (a) make all inferred parameters of lambda expressions final, and
>> (b) to make it non-final, force the developers to explicitly request (like the mutable in F#).
>>
>> It's more of a wish-list, if that's something that can be considered.
>>
>> Thanks,
>>
>> Venkat
>>
More information about the lambda-dev
mailing list