Random 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。
[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)]
public class Random : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, 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
[<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 位种子,该种子是使用线性同一公式修改的。 (请参阅唐纳德·Knuth, <引用>计算机编程艺术,第 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 中添加。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
| 名称 | 说明 |
|---|---|
| Random() |
创建新的随机数生成器。 |
| Random(Int64) |
使用单个 |
| Random(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
| 名称 | 说明 |
|---|---|
| Class |
返回此 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| JniIdentityHashCode |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| JniPeerMembers |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 |
| PeerReference |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
| ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
| 名称 | 说明 |
|---|---|
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| Dispose() |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| Dispose(Boolean) |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| 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) |
| SetSeed(Int64) |
使用单个 |
| ToArray<T>() |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IJavaPeerable.Disposed() |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| IJavaPeerable.Finalized() |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| IJavaPeerable.JniManagedPeerState |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 (继承自 Object) |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
此类的实例用于生成伪随机数流;它的时间段只有 2<个 sup>48</sup>。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |