32位JVM和64位JVM之间的Integer.MAX_VALUE有区别吗?

Gar*_*ryX 10 java integer

Integer.MAX_VALUE32位JVM和64位JVM之间的值是不同的?

我正在使用32位JDK编译Java类并将其部署在64位机器上.我只是想确保我可以依靠检测if (aNumber == Integer.MAX_VALUE).

Joh*_*n B 12

不,根据定义 Integer.MAX_VAlUE = 2^31 - 1

Integer.MAX_VALUE的


Kon*_*kov 5

不会。32 位 JDK 为实例创建 32 位地址,64 位 JDK 为对象实例创建 64 位地址。因此,Integer.MAX_VALUE 是相同的,因为它只是一个值,而不是对象地址。:)