RFR(2): 7174936: several String methods claim to always create new String

Stuart Marks stuart.marks at oracle.com
Tue Nov 12 16:43:25 UTC 2013


Hi all,

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() 
overloads.
  - Remove extranous changes to subSequence() method
  - Clarify wording of concat() method doc.

Bug report:

	https://bugs.openjdk.java.net/browse/JDK-7174936

Webrev:

	http://cr.openjdk.java.net/~smarks/reviews/7174936/webrev.1/

Specdiff:

	http://cr.openjdk.java.net/~smarks/reviews/7174936/specdiff.1/overview-summary.html

Thanks!

s'marks

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:
>
>      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



More information about the core-libs-dev mailing list