Lenguaje

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

Definición

Genera un varHandle que proporciona acceso a un campo name estático de tipo type declarado en una clase de tipo 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

Parámetros

decl
Class

la clase que declara el campo estático

name
String

el nombre del campo

type
Class

el tipo del campo, de tipo T

Devoluciones

varHandle que proporciona acceso a un campo estático

Atributos

Comentarios

Genera un varHandle que proporciona acceso a un campo name estático de tipo type declarado en una clase de tipo decl. El tipo de variable VarHandle es type y no tiene tipos de coordenadas.

La comprobación de acceso se realiza inmediatamente en nombre de la clase de búsqueda.

Si se opera varHandle devuelto, se inicializará la clase declarante, si aún no se ha inicializado.

Algunos modos de acceso del VarHandle devuelto no se admiten en las condiciones siguientes: <ul><li>si el campo se declara final, no se admite la escritura, la actualización atómica atómica, la actualización atómica numérica y los modos de acceso de actualización atómica bit a bit. <li>si el tipo de campo es distinto de byte, , charlongfloatshortinto double, no se admiten los modos numéricos de acceso de actualización atómica. <li>si el tipo de campo es distinto de boolean, , shortbyte, charolong, a continuación, int no se admiten los modos de acceso de actualización atómica bit a bit. </ul>

Si se declara volatile el campo, varHandle devuelto invalidará el acceso al campo (omite eficazmente la volatile declaración) de acuerdo con sus modos de acceso especificados.

Si el tipo de campo es float o double , a continuación, los modos numéricos y atómicos de acceso de actualización comparan los valores mediante su representación bit a bit (vea Float#floatToRawIntBits y Double#doubleToRawLongBits, respectivamente).

Agregado en 9.

Java documentación para java.lang.invoke.MethodHandles.Lookup.findStaticVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a