Back to Intellij Community

IntegerMultiplicationImplicitCastToLong

java/java-impl/resources/inspectionDescriptions/IntegerMultiplicationImplicitCastToLong.html

2025.3-rc-2613 B
Original Source

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;
  }

Such multiplications are often a mistake, as overflow truncation may occur unexpectedly. Converting an int literal to a long literal (65536L) fixes the problem.