Record Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
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. |