< prev index next >

src/java.base/share/classes/java/lang/Integer.java

Print this page

        

*** 337,347 **** */ private static String toUnsignedString0(int val, int shift) { // assert shift > 0 && shift <=5 : "Illegal shift value"; int mag = Integer.SIZE - Integer.numberOfLeadingZeros(val); int chars = Math.max(((mag + (shift - 1)) / shift), 1); - if (COMPACT_STRINGS) { byte[] buf = new byte[chars]; formatUnsignedInt(val, shift, buf, 0, chars); return new String(buf, LATIN1); } else { --- 337,346 ----
*** 475,486 **** * * @implNote This method converts positive inputs into negative * values, to cover the Integer.MIN_VALUE case. Converting otherwise * (negative to positive) will expose -Integer.MIN_VALUE that overflows * integer. */ ! static void getChars(int i, int index, byte[] buf) { int q, r; int charPos = index; boolean negative = i < 0; if (!negative) { --- 474,490 ---- * * @implNote This method converts positive inputs into negative * values, to cover the Integer.MIN_VALUE case. Converting otherwise * (negative to positive) will expose -Integer.MIN_VALUE that overflows * integer. + * + * @param i value to convert + * @param index next index, after the least significant digit + * @param buf target buffer, Latin1-encoded + * @return index of the most significant digit or minus sign, if present */ ! static int getChars(int i, int index, byte[] buf) { int q, r; int charPos = index; boolean negative = i < 0; if (!negative) {
*** 507,519 **** } if (negative) { buf[--charPos] = (byte)'-'; } } ! static void getCharsUTF16(int i, int index, byte[] buf) { int q, r; int charPos = index; boolean negative = (i < 0); if (!negative) { --- 511,533 ---- } if (negative) { buf[--charPos] = (byte)'-'; } + return charPos; } ! /** ! * This is a variant of {@link #getChars(int, int, byte[])}, but for ! * UTF-16 coder. ! * ! * @param i value to convert ! * @param index next index, after the least significant digit ! * @param buf target buffer, UTF16-coded. ! * @return index of the most significant digit or minus sign, if present ! */ ! static int getCharsUTF16(int i, int index, byte[] buf) { int q, r; int charPos = index; boolean negative = (i < 0); if (!negative) {
*** 540,549 **** --- 554,564 ---- } if (negative) { StringUTF16.putChar(buf, --charPos, '-'); } + return charPos; } // Left here for compatibility reasons, see JDK-8143900. static final int [] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999, 99999999, 999999999, Integer.MAX_VALUE };
< prev index next >