Se si vuole trattare un int come se fosse firmato il possibile per
int i = ...
String s = String.format("%d", i & 0xFFFFFFFFL);
Questo trasforma in modo efficace l'int firmato in un lungo, ma sarà da 0 .. 2^31-1
di fare il contrario si può fare
int i = (int) Long.parseLong(s);
String s2 = String.format("%d", i & 0xFFFFFFFFL);
E s2
sarà lo stesso di s
purché in gamma.
BTW: La cosa più semplice da fare potrebbe essere quella di utilizzare un long
in primo luogo. A meno che non si stia creando molto di questi la memoria extra è banale e il codice è più semplice.
fonte
2013-08-13 08:00:53
java non ha numeri interi senza segno – Kevin
Java 8 ha numeri interi senza segno. – boring
AFAIK Java 8 ha un'API per la soluzione alternativa per non avere tipi non firmati. –