Java 中字节类型的用途

2022-09-04 06:22:09

我在Java教程中读到了这一行:

byte:byte 数据类型是 8 位有符号二进制的补码整数。它的最小值为 -128,最大值为 127(含)。字节数据类型可用于在大型数组中节省内存,其中内存节省实际上很重要。它们也可以用于代替int,因为它们的限制有助于澄清你的代码;变量的范围是有限的这一事实可以作为一种文档形式。

我不清楚粗体线。有人可以为我解释一下吗?


答案 1

Byte 的(有符号)范围从 -128 到 127,其中 as int 的(也有符号)范围为 −2,147,483,648 到 2,147,483,647。

这意味着,由于您将要使用的值将始终在该范围之间,因此通过使用字节类型,您可以告诉任何阅读您的代码的人,此值将始终始终在-128到127之间,而无需记录它。

尽管如此,正确的文档始终是关键,您应该仅在出于可读性目的而指定的情况下使用它,而不是作为文档的替代品。


答案 2

如果您使用的是最大值为 127 的变量,则可以使用该变量,而不是让其他人知道无需读取之后的任何条件(这可能会检查边界),则此变量只能具有 -128 和 127 之间的值。byteintif

所以这是一种自我记录的代码 - 正如你所引用的文本中提到的。

就个人而言,我不建议使用这种“文档” - 只是因为变量只能容纳最大值127并不能揭示它的真正目的。