Kev*_*vin 8 java random random-seed
我需要在调用的Java代码上编写一些junit测试Math.random().我知道如果我实例化自己的Random对象以产生可重复的结果,我可以设置种子.还有办法做到这一点Math.random()吗?
rsp*_*rsp 12
该方法Math.random()使用私有静态字段:
private static Random randomNumberGenerator;
Run Code Online (Sandbox Code Playgroud)
如果你真的需要将它设置为a new Random(CONSTANT_SEED)(例如你需要你无法控制的JUNit测试代码),你可以通过使用反射来实现.
如何创建Random自己的实例并使用它?Math.random()创造一个并使用它,所以我不认为你可以搞乱它的种子.Random但是,如果您创建并直接使用它,则可以在创建时为其设置种子,和/或setSeed()稍后可以调用它.