MethodHandles.Lookup.FindVarHandle(Class, String, Class) Methode

Definition

Erzeugt ein VarHandle, das Zugriff auf ein nicht statisches Feld name vom Typ type gibt, das in einer Klasse des Typs recvdeklariert ist.

[Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle FindVarHandle(Java.Lang.Class recv, string name, Java.Lang.Class type);
[<Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.FindVarHandle : Java.Lang.Class * string * Java.Lang.Class -> Java.Lang.Invoke.VarHandle

Parameter

recv
Class

die Empfängerklasse vom Typ R, die das nicht statische Feld deklariert

name
String

Name des Felds

type
Class

typ des Felds T

Gibt zurück

ein VarHandle, das Zugriff auf nicht statische Felder ermöglicht.

Attribute

Hinweise

Erzeugt ein VarHandle, das Zugriff auf ein nicht statisches Feld name vom Typ type gibt, das in einer Klasse des Typs recvdeklariert ist. Der Variablentyp von VarHandle ist type und hat einen Koordinatentyp. recv

Die Zugriffsüberprüfung wird sofort im Auftrag der Nachschlageklasse ausgeführt.

Bestimmte Zugriffsmodi der zurückgegebenen VarHandle werden unter den folgenden Bedingungen nicht unterstützt: <ul<>li>, wenn das Feld deklariert finalwird, werden schreib-, atomische Aktualisierungs-, numerische Atomaktualisierungs- und bitweise Atomaktualisierungsmodi nicht unterstützt. <li>, wenn der Feldtyp etwas anderes ist als byte, , short, , char, int, long, , floatoder double dann werden numerische Atomaktualisierungszugriffsmodi nicht unterstützt. <li>, wenn der Feldtyp etwas anderes ist als boolean, , byte, short, charoder intlong dann bitweise Atomaktualisierungs-Zugriffsmodi werden nicht unterstützt. </ul>

Wenn das Feld deklariert volatile wird, überschreibt varHandle den Zugriff auf das Feld (effektiv ignorieren die volatile Deklaration) gemäß den angegebenen Zugriffsmodi.

Wenn es sich bei dem Feldtyp float um numerische und atomische Zugriffsmodi handelt, double vergleichen Sie Werte mit der bitweisen Darstellung (siehe Float#floatToRawIntBits bzw Double#doubleToRawLongBits.

Hinzugefügt in 9.

Java Dokumentation für java.lang.invoke.MethodHandles.Lookup.findVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: