IRandomGenerator Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum).
[Android.Runtime.Register("java/util/random/RandomGenerator", "", "Java.Util.RandomGenerators.IRandomGeneratorInvoker", ApiSince=35)]
public interface IRandomGenerator : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/random/RandomGenerator", "", "Java.Util.RandomGenerators.IRandomGeneratorInvoker", ApiSince=35)>]
type IRandomGenerator = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Turunan
- Atribut
- Penerapan
Keterangan
Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum). Urutan seperti itu dapat diperoleh dengan berulang kali memanggil metode yang mengembalikan nilai yang dipilih pseudorandomly tunggal, atau dengan memanggil metode yang mengembalikan aliran nilai yang dipilih pseudorandomly.
Idealnya, mengingat rentang nilai yang ditentukan secara implisit atau eksplisit, setiap nilai akan dipilih secara independen dan seragam dari rentang tersebut. Dalam praktiknya, seseorang mungkin harus menyelesaikan beberapa perkiraan untuk kemerdekaan dan keseragaman.
Dalam kasus int, long, dan boolean nilai, jika tidak ada spesifikasi rentang eksplisit, maka rentang mencakup semua nilai jenis yang mungkin. Dalam kasus float dan double nilai, pertama nilai selalu dipilih secara seragam dari set nilai 2<sup>w</sup> antara 0,0 (inklusif) dan 1,0 (eksklusif), di mana w untuk Float#PRECISIONfloat nilai dan Double#PRECISION untuk double nilai, sehingga nilai yang berdekatan berbeda dengan 2<sup>−w</sup> (perhatikan bahwa set ini adalah subset dari sekumpulan semua nilai floating-point yang dapat direpresentasikan antara 0,0 (inklusif) dan 1,0 (eksklusif)); kemudian jika rentang eksplisit ditentukan, maka angka yang dipilih diskalakan secara komputasi dan diterjemahkan sehingga tampaknya telah dipilih secara kira-kira seragam dari rentang eksplisit tersebut.
Setiap metode yang mengembalikan aliran menghasilkan aliran nilai yang masing-masing dipilih dengan cara yang sama seperti untuk metode yang mengembalikan satu nilai yang dipilih secara pseudorandomly. Misalnya, jika r mengimplementasikan RandomGenerator, maka panggilan r.ints(100) metode mengembalikan aliran 100 int nilai. Ini belum tentu nilai yang sama persis yang akan dikembalikan jika sebaliknya r.nextInt() telah dipanggil 100 kali; semua yang dijamin adalah bahwa setiap nilai dalam aliran dipilih dengan cara pseudorandom yang sama dari rentang yang sama.
Setiap objek yang mengimplementasikan antarmuka dengan menggunakan algoritma pseudorandom diasumsikan RandomGenerator berisi jumlah status yang terbatas. Menggunakan objek seperti itu untuk menghasilkan nilai yang dipilih secara pseudorandom mengubah statusnya dengan menghitung status baru sebagai fungsi status saat ini, tanpa merujuk ke informasi apa pun selain status saat ini. Jumlah kemungkinan status berbeda dari objek tersebut disebut periodenya. (Beberapa implementasi RandomGenerator antarmuka mungkin benar-benar acak daripada pseudorandom, misalnya mengandalkan perilaku statistik objek fisik untuk memperoleh nilai yang dipilih. Implementasi tersebut tidak memiliki periode tetap.)
Sebagai aturan, objek yang mengimplementasikan RandomGenerator antarmuka tidak perlu aman utas. Disarankan agar aplikasi multithread menggunakan ThreadLocalRandom generator nomor pseudorandom atau (sebaiknya) yang mengimplementasikan SplittableGenerator antarmuka atau JumpableGenerator .
Objek yang diterapkan RandomGenerator biasanya tidak aman secara kriptografis. Pertimbangkan untuk menggunakan SecureRandom untuk mendapatkan generator nomor pseudorandom yang aman secara kriptografis untuk digunakan oleh aplikasi yang sensitif terhadap keamanan. Perhatikan, bagaimanapun, itu SecureRandom mengimplementasikan RandomGenerator antarmuka, sehingga instans SecureRandom dapat digunakan secara bergantian dengan jenis generator pseudorandom lainnya dalam aplikasi yang tidak memerlukan generator yang aman.
Kecuali dinyatakan lain secara eksplisit, penggunaan null untuk argumen metode apa pun akan menyebabkan NullPointerException.
Ditambahkan dalam 17.
Java dokumentasi untuk java.util.random.RandomGenerator.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Properti
| Nama | Deskripsi |
|---|---|
| Default |
Mengembalikan |
| Handle |
Mendapatkan nilai JNI dari objek Android yang mendasar. (Diperoleh dari IJavaObject) |
| IsDeprecated |
Mengembalikan true jika implementasi RandomGenerator (algoritma) telah ditandai untuk penghentian. |
| JniIdentityHashCode |
Mengembalikan nilai |
| JniManagedPeerState |
Status serekan terkelola. (Diperoleh dari IJavaPeerable) |
| JniObjectReferenceControlBlock |
Antarmuka |
| JniPeerMembers |
Akses anggota dan dukungan pemanggilan. (Diperoleh dari IJavaPeerable) |
| PeerReference |
Mengembalikan instans objek Java yang dibungkusJniObjectReference. (Diperoleh dari IJavaPeerable) |
Metode
| Nama | Deskripsi |
|---|---|
| Disposed() |
Dipanggil ketika instans telah dibuang. (Diperoleh dari IJavaPeerable) |
| DisposeUnlessReferenced() |
Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan |
| Finalized() |
Dipanggil ketika instans telah diselesaikan. (Diperoleh dari IJavaPeerable) |
| NextBoolean() |
Mengembalikan nilai yang dipilih |
| NextBytes(Byte[]) |
Mengisi array byte yang disediakan pengguna dengan nilai byte yang dihasilkan pseudorandomly dipilih secara seragam dari rentang nilai antara -128 (inklusif) dan 127 (inklusif). |
| NextDouble() |
Mengembalikan nilai pseudorandom |
| NextDouble(Double, Double) |
Mengembalikan nilai yang dipilih |
| NextDouble(Double) |
Mengembalikan nilai yang dipilih |
| NextExponential() |
Mengembalikan nilai nonnegative |
| NextFloat() |
Mengembalikan nilai pseudorandom |
| NextFloat(Single, Single) |
Mengembalikan nilai yang dipilih |
| NextFloat(Single) |
Mengembalikan nilai yang dipilih |
| NextGaussian() |
Mengembalikan nilai yang |
| NextGaussian(Double, Double) |
Mengembalikan nilai yang |
| NextInt() |
Mengembalikan nilai yang dipilih |
| NextInt(Int32, Int32) |
Mengembalikan nilai yang dipilih |
| NextInt(Int32) |
Mengembalikan nilai yang dipilih |
| NextLong() |
Mengembalikan nilai yang dipilih |
| NextLong(Int64, Int64) |
Mengembalikan nilai yang dipilih |
| NextLong(Int64) |
Mengembalikan nilai yang dipilih |
| Of(String) |
Mengembalikan instans |
| SetJniIdentityHashCode(Int32) |
Atur nilai yang dikembalikan oleh |
| SetJniManagedPeerState(JniManagedPeerStates) |
Antarmuka |
| SetPeerReference(JniObjectReference) |
Atur nilai yang dikembalikan oleh |
| UnregisterFromRuntime() |
Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue . (Diperoleh dari IJavaPeerable) |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Antarmuka |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |