Random 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。
[Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)]
public class Random : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Util.RandomGenerators.IRandomGenerator
[<Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)>]
type Random = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IRandomGenerator
- 繼承
- 衍生
- 屬性
- 實作
備註
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 該類別使用一個 48 位元種子,並透過線性全化公式進行修改。 (參見 Donald E. Knuth, <引用>《電腦程式設計藝術》第二卷第三版:半數值演算法</引用>,第3.2.1節。)
如果建立兩個 的 Random 實例,使用相同的種子,且對每個 S 呼叫的方法序列相同,它們會產生並回傳相同的數字序列。 為了保證此性質,針對類別 Random指定了特定的演算法。 Java 實作必須使用此處Random所有類別的演算法,以確保 Java 程式碼的絕對可移植性。 然而,類別 Random 的子類別允許使用其他演算法,只要它們遵守所有方法的通用合約。
類別 Random 實作的演算法使用 protected 一種工具方法,每次調用時最多可提供 32 個偽隨機產生的位元。
許多應用會發現此方法 Math#random 更易使用。
的 java.util.Random 實例是安全的。 然而,同一實例在多個執行緒間同時使用 java.util.Random 可能會引發爭用,導致效能不佳。 考慮在多執行緒設計中使用java.util.concurrent.ThreadLocalRandom
的 java.util.Random 實例並非加密安全。 考慮改用 來 java.security.SecureRandom 取得一個加密學安全的偽隨機數產生器,供安全敏感的應用程式使用。
1.0 版本新增。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Random() |
建立一個新的隨機數產生器。 |
| Random(Int64) |
用單一 |
| Random(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| JniPeerMembers |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| Equals(Object) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| From(IRandomGenerator) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Next(Int32) |
產生下一個偽隨機數。 |
| NextBoolean() |
回傳來自此隨機數產生器序列的下一個偽隨機、均勻分布 |
| NextBytes(Byte[]) |
隨機產生位元組並將其放入使用者提供的位元組陣列中。 |
| NextDouble() |
回傳該隨機數產生器序列中 |
| NextFloat() |
回傳該隨機數產生器序列中 |
| NextGaussian() |
回傳下一個偽隨機、高斯分布(「常態分布」) |
| NextInt() |
回傳來自此隨機數產生器序列的下一個偽隨機、均勻分布 |
| NextInt(Int32) |
回傳一個偽隨機、均勻分布 |
| NextLong() |
回傳來自此隨機數產生器序列的下一個偽隨機、均勻分布 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| SetSeed(Int64) |
用單一 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 (繼承來源 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別的實例用於產生一串偽隨機數;其期限僅為2<sup>48</sup>。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |