Record Klasse

Definition

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

[Android.Runtime.Register("java/lang/Record", ApiSince=34, DoNotGenerateAcw=true)]
public abstract class Record : Java.Lang.Object
[<Android.Runtime.Register("java/lang/Record", ApiSince=34, DoNotGenerateAcw=true)>]
type Record = class
    inherit Object
Vererbung
Record
Attribute

Hinweise

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

Weitere Informationen zu Datensätzen, einschließlich Beschreibungen der implizit deklarierten Methoden, die vom Compiler synthetisiert werden, finden Sie in Abschnitt 8.10 von <cite>The Java Language Specification</cite>.

Eine <em>record class</em> ist ein flach unveränderlicher, transparenter Carrier für einen festen Satz von Werten, die <als em>record components</em> bezeichnet werden. Die Java-Sprache bietet eine präzise Syntax zum Deklarieren von Datensatzklassen, wobei die Datensatzkomponenten im Datensatzheader deklariert werden. Die Liste der Datensatzkomponenten, die im Datensatzheader deklariert sind, bilden die <em>datensatzdeskriptor</em>.

Eine Datensatzklasse verfügt über die folgenden vorgeschriebenen Member: einen <kanonischen>Konstruktor</em>, der mindestens so viel Zugriff wie die Datensatzklasse bieten muss und dessen Deskriptor mit dem Datensatzdeskriptor identisch ist; ein privates endgültiges Feld, das jeder Komponente entspricht, deren Name und Typ mit dem der Komponente übereinstimmen; eine öffentliche Accessormethode, die jeder Komponente entspricht, deren Name und Rückgabetyp mit dem der Komponente identisch sind. Wenn nicht explizit im Textkörper des Datensatzes deklariert, werden implizite Implementierungen für diese Member bereitgestellt.

Die implizite Deklaration des kanonischen Konstruktors verfügt über dieselbe Barrierefreiheit wie die Datensatzklasse und initialisiert die Komponentenfelder aus den entsprechenden Konstruktorargumenten. Die implizite Deklaration der Accessormethoden gibt den Wert des entsprechenden Komponentenfelds zurück. Die implizite Deklaration der Object#equals(Object)Methoden , Object#hashCode()und Object#toString() wird von allen Komponentenfeldern abgeleitet.

Die Hauptgründe für die Bereitstellung einer expliziten Deklaration für den kanonischen Konstruktor oder die Accessormethoden sind die Validierung von Konstruktorargumenten, das Ausführen von defensiven Kopien für veränderliche Komponenten oder das Normalisieren von Komponentengruppen (z. B. Reduzieren einer rationalen Anzahl auf niedrigste Ausdrücke).)

Für alle Datensatzklassen muss die folgende Invariante enthalten sein: Wenn die Komponenten eines Datensatzes R sindc1, c2, ... cn, wird ein Datensatz instance wie folgt kopiert:

R copy = new R(r.c1(), r.c2(), ..., r.cn());

dann muss es so sein, dass r.equals(copy).

In 16 hinzugefügt.

Java-Dokumentation für java.lang.Record.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Record()

Konstruktor für zu aufrufende Datensatzklassen.

Record(IntPtr, JniHandleOwnership)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle zum zugrunde liegenden Android-instance.

(Geerbt von Object)
JniIdentityHashCode

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
JniPeerMembers

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

PeerReference

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
ThresholdClass

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

ThresholdType

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

Methoden

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Dispose()

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
Dispose(Boolean)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt diesem "gleich" ist.

GetHashCode()

Gibt einen Hashcodewert für den Datensatz zurück.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
ToArray<T>()

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Datensatzes zurück.

UnregisterFromRuntime()

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
IJavaPeerable.Finalized()

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Für Android-Runtime überprüfte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

GetJniTypeName(IJavaPeerable)

Dies ist die gemeinsame Basisklasse aller Java-Sprachdatensatzklassen.

Gilt für: