diff options
author | Philip Milne <pmilne@google.com> | 2011-06-29 11:37:54 -0700 |
---|---|---|
committer | Philip Milne <pmilne@google.com> | 2011-08-05 09:15:36 -0700 |
commit | 892c36b1c1eee25ad46bac6fffdf129219a5e98d (patch) | |
tree | c5ac8af600b5cf310256b3392cac81c66ca03bab /luni | |
parent | 703fba55df1af9ddc6d7cae41b517cf114f32f73 (diff) | |
download | libcore-892c36b1c1eee25ad46bac6fffdf129219a5e98d.zip libcore-892c36b1c1eee25ad46bac6fffdf129219a5e98d.tar.gz libcore-892c36b1c1eee25ad46bac6fffdf129219a5e98d.tar.bz2 |
Remove the contentEquals() method that was added to java.lang.String.
The public (though hidden) method contentEquals(char[], int, int)
was added to java.lang.String to avoid creating large numbers
of Strings during XML parsing.
That objective is preserved with this change, which uses a private
static method with a similar implementation that goes through the
regular String API.
Change-Id: I808e1ebc4ef6812dd651682628167b4c078af334
Diffstat (limited to 'luni')
-rw-r--r-- | luni/src/main/java/java/lang/String.java | 17 | ||||
-rw-r--r-- | luni/src/main/java/libcore/internal/StringPool.java | 14 |
2 files changed, 13 insertions, 18 deletions
diff --git a/luni/src/main/java/java/lang/String.java b/luni/src/main/java/java/lang/String.java index 5991f7a..efd4210 100644 --- a/luni/src/main/java/java/lang/String.java +++ b/luni/src/main/java/java/lang/String.java @@ -1719,23 +1719,6 @@ outer: } /** - * Equivalent to {@code equals(new String(chars, offset, length))}. - * - * @hide - */ - public boolean contentEquals(char[] chars, int offset, int length) { - if (count != length) { - return false; - } - for (int i = 0; i < length; i++) { - if (chars[offset + i] != value[this.offset + i]) { - return false; - } - } - return true; - } - - /** * Compares a {@code CharSequence} to this {@code String} to determine if * their contents are equal. * diff --git a/luni/src/main/java/libcore/internal/StringPool.java b/luni/src/main/java/libcore/internal/StringPool.java index 779a59a..9fe38f5 100644 --- a/luni/src/main/java/libcore/internal/StringPool.java +++ b/luni/src/main/java/libcore/internal/StringPool.java @@ -25,6 +25,18 @@ public final class StringPool { private final String[] pool = new String[512]; + private static boolean contentEquals(String s, char[] chars, int start, int length) { + if (s.length() != length) { + return false; + } + for (int i = 0; i < length; i++) { + if (chars[start + i] != s.charAt(i)) { + return false; + } + } + return true; + } + /** * Returns a string equal to {@code new String(array, start, length)}. */ @@ -41,7 +53,7 @@ public final class StringPool { int index = hashCode & (pool.length - 1); String pooled = pool[index]; - if (pooled != null && pooled.contentEquals(array, start, length)) { + if (pooled != null && contentEquals(pooled, array, start, length)) { return pooled; } |