Mercurial > hg > release > icedtea8-forest-3.0 > jdk
changeset 10711:c08930d2da93
8067471: Use private static final char[0] for empty Strings
Reviewed-by: igerasim, redestad, shade
author | lpriima |
---|---|
date | Mon, 26 Jan 2015 14:37:30 +0000 |
parents | 31e324a751ee |
children | 72a3b7d2bfc2 |
files | src/share/classes/java/lang/String.java |
diffstat | 1 files changed, 19 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/java/lang/String.java Mon Jan 26 14:29:54 2015 +0300 +++ b/src/share/classes/java/lang/String.java Mon Jan 26 14:37:30 2015 +0000 @@ -135,7 +135,7 @@ * unnecessary since Strings are immutable. */ public String() { - this.value = new char[0]; + this.value = "".value; } /** @@ -191,8 +191,14 @@ if (offset < 0) { throw new StringIndexOutOfBoundsException(offset); } - if (count < 0) { - throw new StringIndexOutOfBoundsException(count); + if (count <= 0) { + if (count < 0) { + throw new StringIndexOutOfBoundsException(count); + } + if (offset <= value.length) { + this.value = "".value; + return; + } } // Note: offset or count might be near -1>>>1. if (offset > value.length - count) { @@ -233,8 +239,14 @@ if (offset < 0) { throw new StringIndexOutOfBoundsException(offset); } - if (count < 0) { - throw new StringIndexOutOfBoundsException(count); + if (count <= 0) { + if (count < 0) { + throw new StringIndexOutOfBoundsException(count); + } + if (offset <= codePoints.length) { + this.value = "".value; + return; + } } // Note: offset or count might be near -1>>>1. if (offset > codePoints.length - count) { @@ -782,7 +794,7 @@ * subarray of {@code dst} starting at index {@code dstBegin} * and ending at index: * <blockquote><pre> - * dstbegin + (srcEnd-srcBegin) - 1 + * dstBegin + (srcEnd-srcBegin) - 1 * </pre></blockquote> * * @param srcBegin index of the first character in the string @@ -827,7 +839,7 @@ * dst} starting at index {@code dstBegin} and ending at index: * * <blockquote><pre> - * dstbegin + (srcEnd-srcBegin) - 1 + * dstBegin + (srcEnd-srcBegin) - 1 * </pre></blockquote> * * @deprecated This method does not properly convert characters into