< prev index next >
src/java.base/share/classes/java/lang/Long.java
Print this page
rev 14029 : More review polishing in both javac and jdk
*** 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 >