Lingua

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

Definizione

Produce un valore VarHandle che concede l'accesso a un campo name statico di tipo type dichiarato in una classe di 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

Parametri

decl
Class

classe che dichiara il campo statico

name
String

nome del campo

type
Class

tipo di campo, di tipo T

Valori restituiti

Un oggetto VarHandle che concede l'accesso a un campo statico

Attributi

Commenti

Produce un valore VarHandle che concede l'accesso a un campo name statico di tipo type dichiarato in una classe di tipo decl. Il tipo di variabile varHandle è type e non ha tipi di coordinate.

Il controllo di accesso viene eseguito immediatamente per conto della classe di ricerca.

Se l'oggetto VarHandle restituito viene gestito, la classe dichiarante verrà inizializzata, se non è già stata inizializzata.

Alcune modalità di accesso dell'oggetto VarHandle restituito non sono supportate nelle condizioni seguenti: <ul><li>se il campo è dichiarato final, la scrittura, l'aggiornamento atomico, l'aggiornamento numerico e le modalità di accesso agli aggiornamenti atomici bit per bit non sono supportate. <li>se il tipo di campo è diverso da byte, short, charfloatintlongo double, le modalità di accesso agli aggiornamenti atomici numerici non sono supportate. <li>se il tipo di campo è diverso da boolean, byte, short, charo intlong quindi le modalità di accesso agli aggiornamenti atomici bit per bit non sono supportate. </ul>

Se il campo viene dichiarato volatile , l'oggetto VarHandle restituito eseguirà l'override dell'accesso al campo (ignorando effettivamente la volatile dichiarazione) in base alle modalità di accesso specificate.

Se il tipo di campo è float o double quindi le modalità di accesso agli aggiornamenti numerici e atomiche confrontano i valori usando la relativa rappresentazione bit per bit (vedere Float#floatToRawIntBits rispettivamente e Double#doubleToRawLongBits).

Aggiunta in 9.

per java.lang.invoke.MethodHandles.Lookup.findStaticVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a