hg: jdk8/tl/jdk: 6924259: Remove offset and count fields from java.lang.String (original) (raw)

Ulf Zibis Ulf.Zibis at gmx.de
Mon Jun 4 15:39:43 UTC 2012


In getBytes() you do not need: int n = srcEnd; int i = srcBegin; You could already use srcEnd srcBegin

@@ -1015,16 +968,16 @@ public final class String return true; } if (anObject instanceof String) {

Why not simply? : if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; while (n-- != 0) { if (v1[n] != v2[n]) return false; } return true; } This additionally has the advantage, that mostly the difference would be found quicker, as strings of same length often would differ at the end e.g.: VeryLongText_1 VeryLongText_2

Same for other equals and compare methods.

BTW: You again have inserted a space after casts. ;-)

-Ulf

Am 31.05.2012 05:22, schrieb mike.duigou at oracle.com:

Changeset: 2c773daa825d Author: mduigou Date: 2012-05-17 10:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2c773daa825d

6924259: Remove offset and count fields from java.lang.String Summary: Removes the use of shared character array buffers by String along with the two fields needed to support the use of shared buffers. Reviewed-by: alanb, mduigou, forax, briangoetz Contributed-by: brian.doherty at oracle.com ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringCoding.java



More information about the core-libs-dev mailing list