Back to Intellij Community

RandomDoubleForRandomInteger

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

2025.3-rc-2489 B
Original Source

Reports calls to java.util.Random.nextDouble() that are used to create a positive integer number by multiplying the call by a factor and casting to an integer.

For generating a random positive integer in a range, java.util.Random.nextInt(int) is simpler and more efficient.

Example:

int getRandomInt() {
    return (int) ((new Random()).nextDouble() * SIZE);
  }

After the quick-fix is applied:

int getRandomInt() {
    return (new Random()).nextInt(SIZE);
  }