Java には Math.random()
クラスだけでなく関数もありRandom
ます。一見同じ操作 (乱数生成) に 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 に答える