Langue

MethodHandles.Lookup.FindStaticVarHandle(Class, String, Class) Méthode

Définition

Produit un VarHandle donnant accès à un champ name statique de type type déclaré dans une classe de type decl.

[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

Paramètres

decl
Class

classe qui déclare le champ statique

name
String

nom du champ

type
Class

type du champ, de type T

Retours

un VarHandle donnant accès à un champ statique

Attributs

Remarques

Produit un VarHandle donnant accès à un champ name statique de type type déclaré dans une classe de type decl. Le type de variable varHandle est type et n’a aucun type de coordonnées.

La vérification d’accès est effectuée immédiatement au nom de la classe de recherche.

Si le VarHandle retourné est activé, la classe déclarante est initialisée, si elle n’a pas déjà été initialisée.

Certains modes d’accès du VarHandle retourné ne sont pas pris en charge dans les conditions suivantes : <ul<>li>si le champ est déclaréfinal, la mise à jour atomique, la mise à jour atomique numérique et les modes d’accès aux mises à jour atomiques au niveau du bit ne sont pas pris en charge. <li>si le type de champ est autre que byte, , short, charint, long, , floatou , ou double, les modes d’accès aux mises à jour atomiques numériques ne sont pas pris en charge. <li>si le type de champ est autre que boolean, , byte, short, char, int ou long alors les modes d’accès aux mises à jour atomiques au niveau du bit ne sont pas pris en charge. </ul>

Si le champ est déclaré volatile , le VarHandle retourné remplace l’accès au champ (ignore efficacement la volatile déclaration) conformément à ses modes d’accès spécifiés.

Si le type de champ est float ou double si les modes d’accès aux mises à jour numériques et atomiques comparent les valeurs à l’aide de leur représentation au niveau du bit (voir Float#floatToRawIntBits et Double#doubleToRawLongBits, respectivement).

Ajouté dans 9.

Documentation Java pour java.lang.invoke.MethodHandles.Lookup.findStaticVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à