< prev index next >

src/java.base/share/classes/java/math/BigInteger.java

Print this page
rev 16194 : imported patch XXXXXXX-Use-StringBuilder-appendN-method

*** 3889,3901 **** // Append remaining digit groups padded with leading zeros for (int i=numGroups-2; i >= 0; i--) { // Prepend (any) leading zeros for this digit group int numLeadingZeros = digitsPerLong[radix]-digitGroup[i].length(); ! if (numLeadingZeros != 0) { ! buf.append(zeros[numLeadingZeros]); ! } buf.append(digitGroup[i]); } return buf.toString(); } --- 3889,3899 ---- // Append remaining digit groups padded with leading zeros for (int i=numGroups-2; i >= 0; i--) { // Prepend (any) leading zeros for this digit group int numLeadingZeros = digitsPerLong[radix]-digitGroup[i].length(); ! buf.appendN('0', numLeadingZeros); buf.append(digitGroup[i]); } return buf.toString(); }
*** 3920,3932 **** String s = u.smallToString(radix); // Pad with internal zeros if necessary. // Don't pad if we're at the beginning of the string. if ((s.length() < digits) && (sb.length() > 0)) { ! for (int i=s.length(); i < digits; i++) { ! sb.append('0'); ! } } sb.append(s); return; } --- 3918,3928 ---- String s = u.smallToString(radix); // Pad with internal zeros if necessary. // Don't pad if we're at the beginning of the string. if ((s.length() < digits) && (sb.length() > 0)) { ! sb.appendN('0', digits - s.length()); } sb.append(s); return; }
*** 3975,3993 **** powerCache = pc; // volatile write, publish } return cacheLine[exponent]; } - /* zero[i] is a string of i consecutive zeros. */ - private static String zeros[] = new String[64]; - static { - zeros[63] = - "000000000000000000000000000000000000000000000000000000000000000"; - for (int i=0; i < 63; i++) - zeros[i] = zeros[63].substring(0, i); - } - /** * Returns the decimal String representation of this BigInteger. * The digit-to-character mapping provided by * {@code Character.forDigit} is used, and a minus sign is * prepended if appropriate. (This representation is compatible --- 3971,3980 ----
< prev index next >