gpt4 book ai didi

java - 为什么 op-assign 运算符在 java 中不是类型安全的?

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

我不确定问题的措辞是否清楚,但举个例子会更清楚。

我发现这在 Java 中不起作用:

int a = ...;
a = 5.0;

但这将:

int a = ...;
a += 5.0;

也就是说,= 运算符似乎是类型安全的,但 += 不是。这是否有任何深层原因,或者这只是语言设计者必须做出的另一个武断决定。

最佳答案

原因是数学运算会进行一些隐式转换:

a += 5.0; 计算如下:

a = (int) ((double) a + 5.0);

但是,赋值需要显式转换。

(它可能是 float 而不是 double,我不记得哪个 Java 将其视为十进制文字。)

关于java - 为什么 op-assign 运算符在 java 中不是类型安全的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/590868/

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