Review Request: 8004201: add reducers to primitive type wrappers

Akhil Arora akhil.arora at
Wed Dec 5 21:27:37 UTC 2012

Updated -

- delegate to Math.min/max for int/long/float/double
- rename Boolean.and/or/xor to logicalAnd/logicalOr/logicalXor
- removed Character variants of min/max/sum

On 12/02/2012 05:50 PM, David Holmes wrote:
> Hi Akhil,
> Is it really necessary/desirable to flag all of these as " Suitable for
> conversion as a method reference to functional interfaces such as ..." ?

Not necessary, but it does provide a hint as to their intended use to a 
casual browser of these docs.

> This style:
> +     * @param   a   a boolean argument.
> +     * @param   b   another boolean argument.
> is at odds with the style used elsewhere for new Functional APIs, and
> with the style of other methods in these classes. Can we just use "first
> operand" and "second operand" for all of these?

It is consistent with Math.min/max, which use the a/b style. Since these 
methods are not in one of the functional package, is'nt it better to 
stick to the local style?

> Character.sum does not make sense to me. Who adds together characters?
> I'm not even sure min and max are worth supporting for Character.

Good point - removed these methods for Character.

> I disagree with other suggestions to use the Math functions for
> float/double. I think all these methods should use the underlying
> primitive operator regardless of type.

Are you disagreeing only for float/double or for int/long also? Can you 
provide more information as to why you disagree?


> Thanks,
> David
> -----
> On 1/12/2012 4:44 AM, Akhil Arora wrote:
>> Hi
>> Requesting review for some basic functionality related to lambdas -
>> Add min, max, sum methods to the primitive wrapper classes - Byte,
>> Short, Integer, Long, Float, Double and Character so as to be able to
>> use them as reducers in lambda expressions. Add and, or, xor methods to
>> Boolean.
>> Thanks

More information about the core-libs-dev mailing list