То, является ли значение в int знаком или без знака, зависит от того, как интерпретируются биты - Java интерпретирует биты как значение со знаком (у него нет беззнаковых примитивов).
Если у вас есть int, который вы хотите интерпретировать как значение без знака (например, вы читаете int из DataInputStream, который, как вы знаете, содержит значение без знака), то вы можете выполнить следующий трюк.
int fourBytesIJustRead = someObject.getInt();
long unsignedValue = fourBytesIJustRead & 0xffffffffl;
Обратите внимание, что важно, чтобы шестнадцатеричный литерал был длинным литералом, а не целым литералом - отсюда и буква 'l' в конце.