1

Java には Math.random()クラスだけでなく関数もありRandomます。一見同じ操作 (乱数生成) に 2 つのエンティティがあるのはなぜですか?

4

2 に答える 2

7

明示的な乱数シードを設定する必要がある場合(再現可能な乱数が必要な場合は、そうすることがあります)、を使用しますRandom

それとは別に、このrandom()メソッドは固定Randomオブジェクトへのショートカットにすぎないため、簡潔にするため、およびランダムシードを気にしない場合に使用します(ほとんどの場合、これは推測です)。

于 2013-03-13T14:11:13.060 に答える
2

「違い」は、java.util.Random には複数のタイプの数値を返すメソッドがあることです。キャストは必要ありません。1 つのコンストラクターを使用すると、ユーザーはシーケンスを繰り返すためにジェネレーターをシードできます。

java.lang.Math.random() は java.util.Random を使用します。double のみを提供し、シード機能はありません。

于 2013-03-13T14:13:35.333 に答える