2010-12-14 43 views
1

我正在創建一個gwt application.I在下面的方法中出現錯誤「構造函數Random()不可見」。我嘗試將它放在mainModuleLoad()中。構造函數Random()不可見

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

我已經通過了以下

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

無論身在何處,我把這個我仍然不斷收到該錯誤進口隨機的。

謝謝

+0

我通過導入java.util.Random.But來得到它,這對我來說似乎是錯誤的。 – james 2010-12-14 04:26:45

回答

5

不要實例化它。取而代之的,則調用類的靜態方法:

Random.nextInt(...) 
+0

謝謝,它得到它的工作 – james 2010-12-14 04:38:16

0

com.google.gwt.user.client.Random類沒有公共構造函數,並且它的所有方法都是靜態的。 javadoc說:

該類可以用作java.util.Random的替代品。語義不同在於使用底層瀏覽器的實現。隨機生成器不能被播種或以其他方式重現特定的結果序列。

我懷疑,這樣設計的原因(即靜態方法和沒有公共構造函數)是,GWT Random類實際上只是ECMAScript的功能Math.random(),這是一個靜態功能並不能在肌膚被播種。

我猜想使用java.util.Random是一種替代方案,但我不相信它能夠從瀏覽器端的熵源中發芽。

相關問題