我正在创建一个gwt应用程序。我在下面的方法中得到错误“构造函数Random()不可见”。我也尝试将它放在主onModuleLoad()中。
public void jump(){
Random generator = new Random();
}
我通过以下
随机导入import com.google.gwt.user.client.Random;
无论我把它放在哪里,我仍然会收到这个错误。
由于
答案 0 :(得分:5)
不要实例化它。相反,在类上调用静态方法:
Random.nextInt(...)
答案 1 :(得分:0)
com.google.gwt.user.client.Random
类没有公共构造函数,并且它的所有方法都是静态的。 javadoc说:
此类可用作java.util.Random的替代。语义不同之处在于使用了底层浏览器的实现。随机生成器不能被播种或以其他方式用于再现特定的结果序列。
我怀疑这种设计的原因(即静态方法和没有公共构造函数)是GWT Random
类实际上只是ECMAScript函数Math.random()
的一个皮肤,它是一个静态功能,无法播种。
我想使用java.util.Random
是另一种选择,但我不相信它能够从浏览器端的熵源中获取种子。