【发布时间】:2014-07-25 20:47:42
【问题描述】:
我正在关注the Java tutorial on Primitive Data Types。早些时候,它指出
在 Java SE 8 及更高版本中,您可以使用 int 数据类型来表示一个无符号的 32 位整数,其最小值为 0,最大值为 2^32-1。使用 Integer 类将 int 数据类型用作无符号整数。
我从这句话中了解到,只要我使用 Integer 包装器对象而不是 int 原始数据类型,我现在最多可以将 2^32-1 存储为 int。但是当我尝试这个时,我的编译器抱怨我使用的值太大,2 ^ 31。我已经尝试过使用原始数据类型和对象。
Integer integerObjectLarge = 2147483648; //2^31
int integerPrimitiveLarge = 2147483648; //2^31
究竟如何使用 int/Integer 来存储无符号值,例如 2^31?
【问题讨论】:
-
能否提供报价来源?
-
可能是个愚蠢的问题 -> 你安装了 J8 吗?
-
如果我错了,请纠正我,但它确实说
-1,2147483647没有任何问题
标签: java unsigned-integer