Java byte 到 int 强制转换

标签 java coercion

<分区>

我对下面的代码有疑问。代码取 self 的《编程语言》一书。

byte x, y, z;
...
/* The values of y and z are coerced into int and int addition is performed */
/* The sum is converted into byte */
x = y + z;

我的问题是为什么 Java 会执行这样的强制转换。你有什么想法吗?

提前致谢。

最佳答案

为了保持 JVM 指令集简单,它没有为每个整数类型实现加法运算符。具体来说,它不能添加字节。 (参见 the list of JVM ops)这使得 JVM 更简单,并且可能更便携。

关于Java byte 到 int 强制转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153288/

相关文章:

java - Spring Java,加载xml时找不到文件

java - 如何将此 unix 时间字符串转换为 java 日期

java - 如何在 Java 中去除文本和 Html 字符串

python - 如何告诉Python,当存在冲突时,我们总是希望将 Foo 类型的对象解释为 Bar 类型的对象?

haskell - 为什么我必须按字段强制此数据类型,而不是一次全部强制?

java - 在 Netbeans GUI 中覆盖 paintComponent

java - 如何从此类日期获取时间和日期 Aug 29 2011 2 :24PM IN Java or Android

r - 为什么 "one"< 2 在 R 中等于 FALSE?

iphone - 在 ARM 与 Intel 上将 float 强制转换为 unsigned char

ruby - 了解强制