Inspectopedia Help

Using 'Random.nextDouble()' to get random integer

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

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023