Review: JDK 8 CR for Support Integer overflow
Stephen Colebourne
scolebourne at joda.org
Mon Feb 6 22:35:55 UTC 2012
On 6 February 2012 21:16, Roger Riggs <Roger.Riggs at oracle.com> wrote:
> * Removed the negateExact methods since they don't pull their weight
> in the API,
> simple tests for MIN_VALUE and MAX_VALUE can be done by the
> developer more efficiently.
Sorry, but I can't agree with this. Developers get negation of numbers
wrong all the time by ignoring the special case. Its a big source of
hidden bugs. Increment/decrement are replaceable by add/subtract (with
less readability), but negate is not.
The whole purpose of methods like this is not to say "oh they're easy
for the caller to write", but to write it once accurately,
well-tested, and with clear intent for code readers. Look at the
methods on Objects to see that complexity of the implementation is not
the deciding factor.
Many, many developers will thank you for having negate, increment and decrement.
Stephen
More information about the core-libs-dev
mailing list