Mismatch between the order of the type variable and the order of the SAM method formal parameters
Rémi Forax
forax at univ-mlv.fr
Thu Sep 15 09:00:12 PDT 2011
On 09/15/2011 05:56 PM, Brian Goetz wrote:
> In general, it is best if methods that have a single lambda parameter have the lambda parameter last.
I agree for Iterable.reduce, but here it's Reducer.reduce().
Rémi
>
>
> On Sep 15, 2011, at 12:30 AM, Rémi Forax wrote:
>
>> Hi all,
>>
>> Here is the declaration of a Reducer:
>>
>> interface Reducer<T, U> {
>> U reduce(U base, T t);
>> }
>>
>> and how to use it:
>>
>> Reducer<String, Integer> reducer = (Integer i, String s) -> i +
>> s.length();
>>
>> As you see the order of the type argument<String, Integer> is not
>> the same as the order of the type of the formal parameter of the lambda
>> (Integer i, String s).
>> I think it will be simpler if the signature of reduce() was changed to
>> swap the two
>> formal parameters.
>>
>> Rémi
>>
>>
More information about the lambda-dev
mailing list