Integer multiplication or shift implicitly cast to 'long'
Reports integer multiplications and left shifts that are implicitly cast to long.
Example:
void f(int i) {
long val = 65536 * i;
}
After the quick-fix is applied, the code changes to:
void x(int i) {
long val = 65536L * i;
}
Example:
void f(int i) {
long value = i << 24;
}
After the quick-fix is applied, the code changes to:
void f(int i) {
long value = (long) i << 24;
}
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
IntegerMultiplicationImplicitCastToLong
Such multiplications are often a mistake, as overflow truncation may occur unexpectedly. Converting an int
literal to a long
literal (65536L
) fixes the problem.
Here you can find the description of settings available for the Integer multiplication or shift implicitly cast to 'long' inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!