在注视在该方法的代码的一个问题:在java.lang.Integer中的内部代码
我发现以下代码:
public static String toHexString(int i) {
return toUnsignedString(i, 4);
}
private static String toUnsignedString(int i, int shift) {
char[] buf = new char[32];
int charPos = 32;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[--charPos] = digits[i & mask];
i >>>= shift;
} while (i != 0);
return new String(buf, charPos, (32 - charPos));
}
的问题是,在toUnsignedString ,为什么我们创建了32个字符的字符?
aha,谢谢,我忘了它。 – 2010-04-29 16:03:58