Очевидно, что Java не поддерживает типы беззнаковых чисел изначально, и это скоро не изменится (комментарии, начиная с 2002 года). Однако при работе с базами данных, такими как MySQL, они могут время от времени пригодиться. Существует много вопросов, касающихся моделирования неподписанных чисел. Например:
Все они поверхностно описывают, как это можно сделать. Но есть ли какая-нибудь библиотека, которая действительно идет полным ходом и реализует подходящие обертки для UByte
, UShort
, UInteger
, ULong
? Предпочтительно, чтобы эти обертки расширяли java.lang.Number
и предоставляли арифметический API, аналогичный API java.math.BigInteger
.
Как можно видеть в этом документе, есть много, о чем можно подумать, и многое, что может пойти не так (например, как побитовое сдвиг, как размножаться и т.д.), поэтому я не хочу делать это сам. Кроме того, я не хочу просто использовать следующий более высокий тип (например, Short
вместо Byte
и т.д.). Я хочу, чтобы, например, было указано число 8-bit
, 16-bit
, 32-bit
, 64-bit
, для лучшего взаимодействия с базами данных.
UPDATE
Прежде чем ответить! Учтите, что я знаю все обходные пути, но мне действительно очень хотелось иметь именно эти 4 типа с точно указанными выше свойствами. И, возможно, кто-то уже это сделал, поэтому я спрашиваю. Не нужно напоминать мне об обходных решениях.