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 实现必须为 类 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 中添加。

java.util.RandomJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

构造函数

Random()

创建新的随机数生成器。

Random(Int64)

使用单个 long 种子创建新的随机数生成器。

Random(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

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()

返回此随机数生成器序列中和 1.0 之间的0.0下一个伪随机、均匀分布double的值。

NextFloat()

返回此随机数生成器序列中和 1.0 之间的0.0下一个伪随机、均匀分布float的值。

NextGaussian()

返回下一个伪随机,高斯 (“normally”) 分布 double 值与此随机数生成器序列的平均值 0.0 和标准偏差 1.0

NextInt()

从此随机数生成器的序列中返回下一个伪随机、均匀分布 int 的值。

NextInt(Int32)

返回一个伪随机的、统一分布 int 的值,该值介于 0 (非独占) 与指定值 (排他) 之间,从此随机数生成器的序列中提取。

NextLong()

从此随机数生成器的序列中返回下一个伪随机、均匀分布 long 的值。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetSeed(Int64)

使用单个 long 种子设置此随机数生成器的种子。

ToArray<T>()

此类的实例用于生成伪随机数字流。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

此类的实例用于生成伪随机数字流。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/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)

此类的实例用于生成伪随机数字流。

适用于