Lenguaje

MethodHandles.Lookup.UnreflectVarHandle(Field) Método

Definición

Genera un varHandle que proporciona acceso a un campo f reflejado de tipo T declarado en una clase de tipo R.

[Android.Runtime.Register("unreflectVarHandle", "(Ljava/lang/reflect/Field;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle UnreflectVarHandle(Java.Lang.Reflect.Field f);
[<Android.Runtime.Register("unreflectVarHandle", "(Ljava/lang/reflect/Field;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.UnreflectVarHandle : Java.Lang.Reflect.Field -> Java.Lang.Invoke.VarHandle

Parámetros

f
Field

el campo reflejado, con un campo de tipo Ty una clase declarando de tipo R

Devoluciones

varHandle que proporciona acceso a campos no estáticos o a un campo estático

Atributos

Comentarios

Genera un varHandle que proporciona acceso a un campo f reflejado de tipo T declarado en una clase de tipo R. El tipo de variable VarHandle es T. Si el campo no es estático, VarHandle tiene un tipo de coordenada, R. De lo contrario, el campo es estático y VarHandle no tiene tipos de coordenadas.

La comprobación de acceso se realiza inmediatamente en nombre de la clase de búsqueda, independientemente del valor de la marca del accessible campo.

Si el campo es estático y si se opera varHandle devuelto, se inicializará la clase declarante del campo, 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, , short, intcharlong, , float, odouble, a continuación, los modos de acceso de actualización atómica numérica no son compatibles. <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.unreflectVarHandle(java.lang.reflect.Field).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a