Integer.parseIntとInteger.toString

基数をパラメータに取るIntegerのparseIntとtoStringが頭の中でごっちゃになってたので整理。

parseInt
radix(基数)で表された文字列を十進法にしてintで返す
public static int parseInt(String s, int radix)

radixが2以上36以下の範囲外だと例外(NumberFormatException)をスロー
(0123456789abcdefghijklmnopqrstuvwxyzで36文字)

Integer.parseInt("100", 2);	// 4	※二進法の100を十進法で表す
Integer.parseInt("FF", 16);	// 255	※16進法のFFを十進法で表す
Integer.parseInt("10", 3);	// 3	※3進法の10を十進法で表す
Integer.parseInt("2", 37);	// NumberFormatException発生。raddixが36以上はダメ
Integer.parseInt("2", 2);	// NumberFormatException発生。二進法の数字に2などあり得ない
toString
整数をradix(基数)で表された文字列にしてStringで返す
public static String toString(int i, int radix)

radixが2以上36以下の範囲外の場合、代わりに10がraddix(基数)として使われる

Integer.toString(255, 16);	// ff 255dを16進法で表す
Integer.toHexString(255);	// ff
Integer.toString(0xff, 16);	// ff ※意味無し

Integer.toString(255, 2);	// 11111111 255(十進)を二進法で表す
Integer.toBinaryString(0xff);	// 11111111
Integer.toString(0xff, 2);	// 11111111 ff(16進)を二進法で表す

Integer.toString(010, 10);	// 8 八進法の010を十進法で表す
Integer.toString(16, 17);	// g 十進の16を17進法で表す
Integer.toString(0x10, 17);	// g 16進の10を17進法で表す