< prev index next >

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

Print this page
rev 14560 : Merge

*** 377,387 **** */ static String toUnsignedString0(long val, int shift) { // assert shift > 0 && shift <=5 : "Illegal shift value"; int mag = Long.SIZE - Long.numberOfLeadingZeros(val); int chars = Math.max(((mag + (shift - 1)) / shift), 1); - if (COMPACT_STRINGS) { byte[] buf = new byte[chars]; formatUnsignedLong0(val, shift, buf, 0, chars); return new String(buf, LATIN1); } else { --- 377,386 ----
*** 487,498 **** * * @implNote This method converts positive inputs into negative * values, to cover the Long.MIN_VALUE case. Converting otherwise * (negative to positive) will expose -Long.MIN_VALUE that overflows * long. */ ! static void getChars(long i, int index, byte[] buf) { long q; int r; int charPos = index; boolean negative = (i < 0); --- 486,502 ---- * * @implNote This method converts positive inputs into negative * values, to cover the Long.MIN_VALUE case. Converting otherwise * (negative to positive) will expose -Long.MIN_VALUE that overflows * long. + * + * @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(long i, int index, byte[] buf) { long q; int r; int charPos = index; boolean negative = (i < 0);
*** 531,543 **** } if (negative) { buf[--charPos] = (byte)'-'; } } ! static void getCharsUTF16(long i, int index, byte[] buf) { long q; int r; int charPos = index; boolean negative = (i < 0); --- 535,557 ---- } if (negative) { buf[--charPos] = (byte)'-'; } + return charPos; } ! /** ! * This is a variant of {@link #getChars(long, 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(long i, int index, byte[] buf) { long q; int r; int charPos = index; boolean negative = (i < 0);
*** 576,585 **** --- 590,600 ---- } if (negative) { StringUTF16.putChar(buf, --charPos, '-'); } + return charPos; } /** * Returns the string representation size for a given long value. *
< prev index next >