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

Definição

Produz um VarHandle que dá acesso a um campo name estático do tipo type declarado em uma classe 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

a classe que declara o campo estático

name
String

o nome do campo

type
Class

tipo do campo, do tipo T

Retornos

um VarHandle que dá acesso a um campo estático

Atributos

Comentários

Produz um VarHandle que dá acesso a um campo name estático do tipo type declarado em uma classe de tipo decl. O tipo de variável do VarHandle é type e não tem tipos de coordenadas.

A verificação de acesso é executada imediatamente em nome da classe de pesquisa.

Se o VarHandle retornado for operado, a classe de declaração será inicializada, se ainda não tiver sido inicializada.

Determinados modos de acesso do VarHandle retornado não são suportados sob as seguintes condições: <ul><li>se o campo for declarado final, a gravação, a atualização atômica, a atualização atômica numérica e os modos de acesso de atualização atômica bit a bit não são suportados. <li>se o tipo de campo for algo diferente bytede , , short, char, int, long, floatou double, então os modos de acesso de atualização atômica numérica não são suportados. <li>se o tipo de campo é algo diferente booleande , , byte, shortoulong, em seguida, charint modos de acesso de atualização atômica bit a bit não são suportados. </ul>

Se o campo for declarado volatile , o VarHandle retornado substituirá o acesso ao campo (ignore efetivamente a volatile declaração) de acordo com seus modos de acesso especificados.

Se o tipo de campo for float ou double , em seguida, os modos de acesso de atualização numérica e atômica compararem valores usando a representação bit a bit (veja Float#floatToRawIntBits e Double#doubleToRawLongBits, respectivamente).

Adicionado em 9.

Java documentação para java.lang.invoke.MethodHandles.Lookup.findStaticVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a