Идея может состоять в том, чтобы сначала разобрать его в целочисленный формат. Вы можете использовать:
int value = Integer.decode("your hex value here");
если строка не является правильным значением, она выдаст исключение формата чисел, однако функция декодирования также будет работать для любого допустимого целого числа (так что в этом случае будет работать что-то базовое 10).
Альтернатива, которую вы можете попробовать:
int value = Integer.parseInt("hex value",16)
Однако для этого метода вам нужно избавиться от заголовка "0x" из вашей строки
Поскольку вы выполняете проверку, окружите ее блоком try catch
, и все, что будет обнаружено, будет неправильно отформатированным гексом.
Кроме того, если вам нужно проверить, находится ли значение в диапазоне от 0 до 16383, просто используйте значение, возвращенное вышеуказанными методами.