Java仅支持带符号的类型(除外
char),因为它假定对于初学者来说,一种类型比每种大小都具有两种类型更容易理解。在C语言中,它被认为是错误的根源,因此不包括对无符号类型的支持。
因此设计师选择了四种尺寸
byte
,8位short
,16位int
,32位long
,64位。
并保持一致性,他们都签署就像
float及
double
然而一个符号字节很少非常有用的,给他们让16位无符号
char有一个无符号
byte可能会更有意义。
当您必须与使用无符号整数类型的系统进行交互时,这种方法不能很好地起作用。这可能是造成混乱的原因,而是使用哪种类型,因为通常情况下它们没有任何区别。Java
8也将具有支持无符号类型的操作。这些被添加到包装类,例如
Integer和
Long



