2011-12-20 11 views
6

Czy to tylko z powodu "dużego zespołu API" lub generowania losowych liczb, które są bardziej tendencyjne, faworyzowane w niektórych sytuacjach? Gdyby tak było ... Sądzę, że kontrola nad uprzedzeniami byłaby ważna.Dlaczego JDK ma zarówno Math.random(), jak i klasę Random?

+0

Myślę, że to, co masz na myśli, to: 1) rozkład jednostajny (masz tyle trafień w (0,2 do 0,3) jak w (0,5 do 0,6)) i 2) liczby są niezależne od siebie (nie całkiem prawda, ale tak wygląda). – toto2

Odpowiedz

9

Tak naprawdę są takie same. Tylko wygodna metoda. Sprawdź javadoc here. Dodatkowo możesz ponownie wysiewać, tworząc obiekty losowe, podczas gdy Math.random() użyje statycznego losowego wystąpienia.

+3

Prawie zawsze chcemy używać Losowania, ponieważ możesz kontrolować obsiewanie i generować różne typy (boolean, int, itd.). –

+2

Proszę nie łączyć z JavaDocs dla przestarzałego środowiska JRE, zaktualizowałem link, aby wskazać dokument v. 7. –

+1

@Andrew Thompson - wydaje się, że jest to obszar, w którym można ulepszyć kod StackExchange i zgłosić złe linki do użytkowników, którzy je robią? – djangofan

Powiązane problemy