I've been reading lately in many discussions that JDK8 might really support unsigned primitives to a certain limit. In fact, this is old news in a sense, because discussions on this topic have been around since as early as January 2012. The difference is that early these discussions were sporadic and ended quickly without many external resources and links with official announcements to support the introduction of unsigned primitives and wrappers. Nowadays, there are more of them. This might be due to the fact that the JDK8 release date is only a few months away.

Actually, the lack of unsigned numbers isn't really a big problem. Most situations that occur from the lack of unsigned values which may be unpleasant to the programmers can be overcome with certain byte level manipulation or by wrapping primitives into objects of classes designed to behave like unsigned integer or decimal values, but this takes certain amount of computational resources and in applications which require more speed and precision, this approach cannot replace a language level implementation.

There have been attempts to compile efficient classes to maximize the advantages and features of Java’s JIT compiler, but even these implementations are nowhere as close as a language level implementation would provide.

Personally, I would love to see unsigned integers and longs, unsigned floats and doubles and even true byte which can hold the proper values from 0 to 255. This is because, to me, a signed byte has no practical meaning.

Currently, the only true unsigned primitive with a value from 0 upwards is the char type. Sometimes, programmers use this type to work with certain binary files, but still need to manipulate bytes by moving bits left and right from time to time when packing and unpacking then to and from byte arrays for writing to and reading from streams.

I’d like to see at least the basic primitives and their corresponding wrapper classes implemented into the language. Of course, with arithmetic operations and adequate casting made possible.