java - Java 中的 Byte 和 Short 的要点(我已阅读其他问题)

标签 java byte short

我的问题是: 如果我从 Java 反汇编中得到它,当我使用

byte a=3,b=5;
System.out.println(a+b);

实际上会使用 int 而不是 byte。此外,所有本地内存插槽都是 4B,就像堆栈插槽一样。我意识到分配一个字节数组可能会更有效,但是使用单个字节值最终效率真的很低吗? (简称同点)

最佳答案

+ 是整数运算。这就是为什么

byte c = a+b; // compile error

你应该使用

int c = a + b 

byte c = (byte)(a+b);

我的建议是使用 int 以免每次都进行强制转换。如果您总是处理 byte,请使用 byte,否则使用 int

关于java - Java 中的 Byte 和 Short 的要点(我已阅读其他问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5662685/

相关文章:

java - 使用 native 代码时出错

java - 无法使用 Maven 运行 Java

php - 我如何找出一个字符有多少字节?

c# - 如何在逐字节读取 CSV 文件时检测字节是否为换行符 - C#

java - 将 Java 移植到 AS3

path - 循环有向图中的最短路径

java - 尝试使用 Java.swing 创建一个 MenuBar,并创建一个 JMenu() 对象,但它不允许我将其添加到框架中,不知道为什么?

java - 将字符串更改为 byte[] - 无需实际转换

c++ - 将位数组转换为短

java - 如何让我的程序根据特定情况重复执行?