为什么字节的总和是整数?

为什么字节的总和是整数?,第1张

为什么字节的总和是整数?

因为Java语言规范这么说

*** 作数(第5.6.2节)执行二进制数值提升

请注意,二进制数值升级执行值集转换(第5.1.13节),并且可能执行拆箱转换(第5.1.8节)。

数字 *** 作数上加法表达式的类型是其 *** 作数的提升类型。

并且,关于数字促销,

扩展原语转换(第5.1.2节)适用于转换以下规则指定的一个或两个 *** 作数:

  • […]
  • 否则,两个 *** 作数都将转换为type
    int


因此,

byte
价值被提升为
int
价值并相加。表达式的结果是提升的类型,因此是
int

您可以简单地转换结果

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

但请注意上溢/下溢。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5487865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存