我需要在最大值内生成随机整数.由于性能至关重要,我决定使用XORShift生成器而不是Java的Random类.
long seed = System.nanoTime();
seed ^= (seed << 21);
seed ^= (seed >>> 35);
seed ^= (seed << 4);
Run Code Online (Sandbox Code Playgroud)
这个实现(源代码)给了我一个长整数,但我真正想要的是一个介于0和最大值之间的整数.
public int random(int max){ /*...*/}
Run Code Online (Sandbox Code Playgroud)
实现此方法的最有效方法是什么?