On 2/4/2013 1:36 PM, Stephen Colebourne wrote:
On 4 February 2013 19:31, Joe Darcy <joe.da...@oracle.com> wrote:
The stripTrailingZeros method has acted in this surprising way since the
IBM-led JSR 13 was integrated into the platform back in JDK 5, which shipped
in 2004.

This situation is analogous to when the specification and behavior disagree.
Our general policy to resolve such cases when evolving the JDK is:

"..., there are times in evolving the JDK when differences are found between
the specified behavior and the actual behavior (for example 4707389,
6365176). The two basic approaches to fixing these bugs are to change the
implementation to match the specified behavior or to change the
specification (in a platform release) to match the implementation's (perhaps
long-standing) behavior; often the latter option is chosen since it has a
lower de facto impact on behavioral compatibility."
http://cr.openjdk.java.net/~darcy/OpenJdkDevGuide/OpenJdkDevelopersGuide.v0.777.html

If this issue were being addressed before JDK 5 shipped or even during JDK
6, I would support changing the behavior of stripTrailingZeros.  However,
for addressing this in JDK 8, I think it is more appropriate to keep the
behavior as-is and document this special case.
I don't see what JDK 5 vs 6 vs 8 really has to do with it.

The longer a particular behavior has been in a shipped JDK release, the more likely it is various people have built code that depend on that behavior.

-Joe

Reply via email to