Sprache

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

Definition

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

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

Parameter

decl
Class

die Klasse, die das statische Feld deklariert

name
String

Name des Felds

type
Class

typ des Felds T

Gibt zurück

ein VarHandle, das Zugriff auf ein statisches Feld gibt

Attribute

Hinweise

Erzeugt eine VarHandle, die Zugriff auf ein statisches Feld name vom Typ type gibt, das in einer Klasse des Typs decldeklariert ist. Der Variablentyp "VarHandle" ist type und weist keine Koordinatentypen auf.

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

Wenn der zurückgegebene VarHandle-Wert ausgeführt wird, wird die deklarierende Klasse initialisiert, sofern sie noch nicht initialisiert wurde.

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.findStaticVarHandle(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: