RFR(2): 7174936: several String methods claim to always create new String
stuart.marks at oracle.com
Tue Nov 12 16:43:25 UTC 2013
Here's an updated version of the String spec change. Changes from the previous
version address comments made by Brent Christian and David Holmes. Specifically:
- Specify copyValueOf() overloads as "equivalent to" corresponding valueOf()
- Remove extranous changes to subSequence() method
- Clarify wording of concat() method doc.
On 11/7/13 2:31 AM, Stuart Marks wrote:
> 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:
More information about the core-libs-dev