如何在java中声明32位整数?

前端之家收集整理的这篇文章主要介绍了如何在java中声明32位整数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个在32位和64位系统上运行的 java应用程序,它主要处理IP地址.这些IP地址保持为整数,正常类型在64位平台上浪费了大量内存(是的,内存使用已经被证明是一个问题).即使在x64体系结构上,如何声明32位整数值仍然保持在32位?

因为我是一个java新手,如果有一个已经设计用于处理IP地址的内置类型,请随时指出我;)

解决方法

Java具有特定的数据类型宽度,以实现可移植性.即使在64位平台上,整数也是32位宽. Java language specification状态为 quite clearly(在我看来,略微转述为更具可读性):

The integral types are byte,short,int,and long,whose values are respectively 8-bit,16-bit,32-bit and 64-bit signed two’s-complement integers,and char,whose values are 16-bit unsigned integers representing UTF-16 code units.

这可以说是由于在C中发现的许多可移植性问题,它们具有不同的宽度(甚至是编码,例如两个补码,一个补码和符号/幅度),这些整数是Java希望避免的,特别是因为它意味着可以运行多个不同的平台尽可能.

至于用于处理IP地址的内置类型,Java具有Inet4AddressInet6Address,具体取决于您的需求(以及它们的共同祖先,InetAddress).

猜你在找的Java相关文章