Разбор целых строк в Java

Возможный дубликат:
Как преобразовать шестнадцатеричную строку в long в java?

Я знаю, что Java не может справиться с этим:

Integer.parseInt("0x64")

Вместо этого вы должны сделать это:

Integer.parseInt("64", 16)

Есть ли что-то встроенное в Java, которое может автоматически анализировать целые строки для меня, используя стандартные префиксы для шестнадцатеричного, восьмеричного и отсутствующего префикса для десятичного числа (так что мне не нужно удалять префикс и явно устанавливать базу )?

Ответ 1

Вы можете использовать Integer.decode:

Integer.decode("0x64");

Правила декодирования выглядят следующим образом:

Prefix  Type
        DecimalNumeral
0x      HexDigits
0X      HexDigits
#       HexDigits
0       OctalDigits

Примечание: decode доступно в Short, Integer и Long.