Intel type systems use 32 bits efficiently, but I doubt there is a cost for using a 16 bit integer over a 32. Therefore, you might actually save a little space with an integer, and expect no loss of efficiency. However, I believe that using a Byte will not actually save anything. I would expect that a byte type would actually be either an integer or a long, with the upper bytes masked out.