gpt4 book ai didi

java - 将字节值转换为 int

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:12 26 4
gpt4 key购买 nike

我知道,如果我们对字节值执行算术运算,那么它会隐式地提升为一个 int,结果将是一个 int,因此我们需要将其显式转换为字节,以便将结果存储在一个字节变量。但我想问-

  • 从字节到整数的转换是否发生在被声明或当我们在算术中使用它时是否发生手术?因为我正在使用的 java 反编译器将它从byte 在声明时为 int。那么,它是反编译器吗问题还是真的如此。
  • 如果它真的发生在声明的时候,那为什么要存储超出字节范围的值表示错误?

例如-代码是-

public class Hello
{
public static void main(String[] args)
{
byte a=90;

}
}

反编译器的输出- Check this

最佳答案

一个字节仍然是一个字节,并且由编译器静态类型化。

JVM machine实现将单个字节(而不是字节数组)作为 int 槽中的变量。并使用 int opcodes用于算术。

编译器也会将 final int 常量分配给字节,只要它在字节范围 -128, ... 127 内即可。

关于java - 将字节值转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32228684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com