Ответ 1
Вы можете использовать Integer.decode
:
Integer.decode("0x64");
Правила декодирования выглядят следующим образом:
Prefix Type
DecimalNumeral
0x HexDigits
0X HexDigits
# HexDigits
0 OctalDigits
Возможный дубликат:
Как преобразовать шестнадцатеричную строку в long в java?
Я знаю, что Java не может справиться с этим:
Integer.parseInt("0x64")
Вместо этого вы должны сделать это:
Integer.parseInt("64", 16)
Есть ли что-то встроенное в Java, которое может автоматически анализировать целые строки для меня, используя стандартные префиксы для шестнадцатеричного, восьмеричного и отсутствующего префикса для десятичного числа (так что мне не нужно удалять префикс и явно устанавливать базу )?
Вы можете использовать Integer.decode
:
Integer.decode("0x64");
Правила декодирования выглядят следующим образом:
Prefix Type
DecimalNumeral
0x HexDigits
0X HexDigits
# HexDigits
0 OctalDigits
Там Long.decode().