如何在int + = double上配置Eclipse java警告

ste*_*eve 8 java eclipse

这段Java代码不会导致编译警告.如何配置Eclipse以在此方案中发出警告?如果重要的话,我正在编制1.8合规级别.

double dd = 1.1;
int ii = 2;
ii += dd; // this is a possible bug
Run Code Online (Sandbox Code Playgroud)

ska*_*dya 1

目前 eclipse 不支持它。这也有一个开放的错误。

Bug 516084 - 需要对加等于和减等于进行隐式缩小类型警告

背景:根据Java 语言规范第 15.26.2 节,复合赋值语句中没有警告似乎是正确的行为。

15.26.2。复合赋值运算符

E1 op= E2 形式的复合赋值表达式等效于 E1 = (T) ((E1) op (E2)),其中 T 是 E1 的类型,但 E1 仅计算一次。

例如,下面的代码是正确的:

短x = 3;x+=4.6;结果 x 的值为 7,因为它相当于:

短x = 3;x =(短)(x + 4.6);