开发者

The constructor Random() is not visible

I am creating a gwt application.I get 开发者_如何学JAVAthe error "The constructor Random() is not visible" in the method below.I have tried putting it in the main onModuleLoad() as well.

public void jump(){
 Random generator = new Random();
}

I have imported random via the following

import com.google.gwt.user.client.Random;

No matter where I put this I still keep getting that error.

Thanks


Don't instantiate it. Instead, call the static methods on the class:

Random.nextInt(...)


The com.google.gwt.user.client.Random class has no public constructor, and all of its methods are static. The javadoc says:

This class can be used as a substitute for java.util.Random. The semantics differ in that the underlying browser's implementation is used. The random generator cannot be seeded or otherwise used to reproduce a particular sequence of results.

I suspect that the reason for this design (i.e. static methods and no public constructor) is that the GWT Random class is really just a skin for the ECMAScript function Math.random(), which is a static function and which cannot be seeded.

I guess using java.util.Random is an alternative, but I would not trust it to be able to seed itself from a browser-side source of entropy.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜