Hi all,
Please review the following spec changes to java.lang.String.
In several places the specs mention returning "new" strings. This is
overspecified; it's sufficient to return "a" string that satisfies the required
properties. In some cases the current implementation doesn't create a new string
-- for example, substring(0) returns 'this' -- which is strictly a violation of
the spec. The solution is to relax the spec requirement to create new strings.
Also, this change cleans up the specs for the copyValueOf() overloads to make
them identical to the corresponding valueOf() overloads. Previously, they were
gratuitously different. I think that some time in the dim, distant past,
probably before JDK 1.0, they had different semantics, but now they're
identical. The specs should say they're identical.
This change is spec only, no code changes.
Bug report:
https://bugs.openjdk.java.net/browse/jdk-7174936
Webrev:
http://cr.openjdk.java.net/~smarks/reviews/7174936/webrev.0/
Specdiff:
http://cr.openjdk.java.net/~smarks/reviews/7174936/specdiff.0/overview-summary.html
Thanks!
s'marks