new BigInteger(string, 16).longValue()
Для любого значения someLong:
new BigInteger(Long.toHexString(someLong), 16).longValue() == someLong
Другими словами, это вернет long
, которое вы отправили в Long.toHexString()
для любого значения long
, включая отрицательные числа. Он также будет принимать строки, которые больше long
и молча возвращать младшие 64 бита строки как long
. Вы можете просто проверить длину строки <= 16 (после обрезки пробелов), если вам необходимо убедиться, что входное значение соответствует <code>long.