报告隐式转换为 long 的整数乘法或左移位。
示例:
void f(int i) {
long val = 65536 * i;
}
应用快速修复后,代码变为:
void x(int i) {
long val = 65536L * i;
}
示例:
void f(int i) {
long value = i << 24;
}
应用快速修复后,代码变为:
void f(int i) {
long value = (long) i << 24;
}
这样的乘法通常表明有错误,因为可能会意外发生溢出截断。
将 int
文字转换为 long
文字 (65536L
) 可以修复该问题。