在Java中Integer.BYTES有什么意义?
我找不到有人问我这个问题,所以我不得不问 Java文档说: 用于以2的补码二进制形式表示int值的字节数 为什么我们要在Java中使用它?我知道2的补码二进制形式是什么,但我不知道它的用法 我在Tim Buchalka的课程中特别发现了这一点,但他很难正确解释。 他使用的代码是:在Java中Integer.BYTES有什么意义?,java,integer,byte,Java,Integer,Byte,我找不到有人问我这个问题,所以我不得不问 Java文档说: 用于以2的补码二进制形式表示int值的字节数 为什么我们要在Java中使用它?我知道2的补码二进制形式是什么,但我不知道它的用法 我在Tim Buchalka的课程中特别发现了这一点,但他很难正确解释。 他使用的代码是: int locationStart = (int) (indexSize + rao.getFilePointer() + Integer.BYTES); 它在RandomAccessFile课程中使用。我看到其他导
int locationStart = (int) (indexSize + rao.getFilePointer() + Integer.BYTES);
它在RandomAccessFile课程中使用。我看到其他导师解释RAF时没有使用Integer.BYTES。你用
Integer.MAX_VALUE
表示一个整数可以拥有的最大值的数字,即231-1
或2147483647
,您可以使用Integer.BYTES
来表示一个数字,该数字包含int
使用的字节数,即4
。使用命名常量比使用值本身更容易维护代码,也更不容易出错
表示许多这样的常量值。据我所知,JavaDoc的注释部分“[…]用于表示int[…]的字节数”是这里最重要的部分,而不是使用2的补码。由于Integer是基本类型int的对象表示形式,因此它为您提供了有关Integer/int类型的更多信息,如
Integer.BYTES
=4或Integer.MAX\u VALUE
,Integer.MIN\u VALUE
Java有八种基本数据类型。
它们的所有对象表示形式都提供了这个常量,让您知道将使用多少内存来存储该类型变量的值。比如
Short.BYTES
=2,Long.BYTES
=8等等。这个常数基本上表示一个int
需要4个字节。您可以在代码中使用幻数,或者使用更具描述性的常量。假设您打开一个只包含整数的RAF,并希望将光标定位在第5个整数处。您可以将光标定位在字节偏移量4*4
或4*Integer.BYTES
处。前者可能较短,但后者更易于阅读和维护。-明确地说:该常数与随机访问文件本身无关,而是与包含二进制int
数据的字节流/数组有关。