# HG changeset patch # User Jaroslav Tulach # Date 1399455571 -7200 # Node ID 0d62e32b04b22fc69cfe8154f73e4a69dd3601bc # Parent 50991eae72d4365c7eb734a0485a5aecfaa45a2a Copying to char array is expensive operation avoid it diff -r 50991eae72d4 -r 0d62e32b04b2 rt/emul/mini/src/main/java/java/lang/String.java --- a/rt/emul/mini/src/main/java/java/lang/String.java Wed May 07 11:05:07 2014 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/String.java Wed May 07 11:39:31 2014 +0200 @@ -1185,8 +1185,6 @@ int len1 = length(); int len2 = anotherString.length(); int n = Math.min(len1, len2); - char v1[] = toCharArray(); - char v2[] = anotherString.toCharArray(); int i = offset(); int j = anotherString.offset(); @@ -1194,8 +1192,8 @@ int k = i; int lim = n + i; while (k < lim) { - char c1 = v1[k]; - char c2 = v2[k]; + char c1 = this.charAt(k); + char c2 = anotherString.charAt(k); if (c1 != c2) { return c1 - c2; } @@ -1203,8 +1201,8 @@ } } else { while (n-- != 0) { - char c1 = v1[i++]; - char c2 = v2[j++]; + char c1 = this.charAt(i++); + char c2 = anotherString.charAt(j++); if (c1 != c2) { return c1 - c2; }