Share via


Random 類別

定義

這個類別的實例可用來產生虛擬亂數的資料流程。

[Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)]
public class Random : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)>]
type Random = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
Random
衍生
屬性
實作

備註

這個類別的實例可用來產生虛擬亂數的資料流程。 類別使用 48 位種子,其會使用線性連續公式進行修改。 (請參閱電腦 程式設計、第2 節 3.2.1.)

如果 的兩個實例都使用相同的種子建立,而且會針對每個實例 Random 建立相同的方法呼叫序列,它們會產生並傳回相同的數位序列。 為了保證這個屬性,系統會為 類別 Random 指定特定的演算法。 基於 JAVA 程式碼的絕對可攜性,JAVA 實作必須使用這裡針對 類別 Random 顯示的所有演算法。 不過,允許類別的 Random 子類別使用其他演算法,只要它們遵守所有方法的一般合約。

類別所實作 Random 的演算法會使用公用程式方法,每個叫用上最多可以提供 32 個 protected 虛擬隨機產生的位。

許多應用程式都會發現 Math#random 方法更容易使用。

java.util.Random 實例為執行緒afe。 不過,跨執行緒同時使用相同的 java.util.Random 實例可能會發生爭用,因而效能不佳。 請考慮改用 java.util.concurrent.ThreadLocalRandom 多執行緒設計。

java.util.Random 實例不是密碼編譯安全。 請考慮改用 java.security.SecureRandom 來取得密碼編譯安全虛擬亂數產生器,以供安全性敏感性應用程式使用。

已在 1.0 中新增。

java.util.Random JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

建構函式

Random()

建立新的亂數產生器。

Random(Int64)

使用單 long 一種子建立新的亂數產生器。

Random(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
JniIdentityHashCode

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
JniPeerMembers

這個類別的實例可用來產生虛擬亂數的資料流程。

PeerReference

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

方法

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
Dispose()

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
Dispose(Boolean)

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()

當垃圾收集判斷物件沒有其他參考時,由物件上的垃圾收集行程呼叫。

(繼承來源 Object)
Next(Int32)

產生下一個虛擬亂數。

NextBoolean()

傳回這個亂數產生器序列中的下一個虛擬隨機、統一分佈 boolean 值。

NextBytes(Byte[])

產生隨機位元組,並將其放入使用者提供的位元組陣列中。

NextDouble()

傳回下一個虛擬亂數,從這個亂數產生器的序列之間 0.01.0 之間統一分佈 double 的值。

NextFloat()

傳回下一個虛擬亂數,從這個亂數產生器的序列之間 0.01.0 之間統一分佈 float 的值。

NextGaussian()

傳回下一個虛擬亂數,Gaussian (「正常」) 分散式 double 值,此亂數產生器的序列具有平均值 0.0 和標準差 1.0

NextInt()

傳回這個亂數產生器序列中的下一個虛擬隨機、統一分佈 int 值。

NextInt(Int32)

傳回介於 0 (內含) 之間的虛擬隨機值 int ,以及從這個亂數產生器序列繪製的指定值 (獨佔) 。

NextLong()

傳回這個亂數產生器序列中的下一個虛擬隨機、統一分佈 long 值。

Notify()

喚醒正在等候此物件的監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetSeed(Int64)

使用單 long 一種子來設定這個亂數產生器的種子。

ToArray<T>()

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是藉由 < em > notified < /em > 或 < em > interrupted < /em > 來喚醒。

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
IJavaPeerable.Finalized()

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

這個類別的實例可用來產生虛擬亂數的資料流程。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

這個類別的實例可用來產生虛擬亂數的資料流程。

GetJniTypeName(IJavaPeerable)

這個類別的實例可用來產生虛擬亂數的資料流程。

適用於