MethodHandles.Lookup.FindVarHandle(Class, String, Class) メソッド

定義

recv型のクラスで宣言type型の非静的フィールドnameへのアクセスを許可する VarHandle を生成します。

[Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle FindVarHandle(Java.Lang.Class recv, string name, Java.Lang.Class type);
[<Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.FindVarHandle : Java.Lang.Class * string * Java.Lang.Class -> Java.Lang.Invoke.VarHandle

パラメーター

recv
Class

非静的フィールドを宣言する R型の受信側クラス

name
String

フィールドの名前

type
Class

フィールドの型 (型) T

返品

非静的フィールドへのアクセスを許可する VarHandle。

属性

注釈

recv型のクラスで宣言type型の非静的フィールドnameへのアクセスを許可する VarHandle を生成します。 VarHandle の変数型は type であり、1 つの座標型 ( recv) を持ちます。

アクセス チェックは、参照クラスの代わりに直ちに実行されます。

返される VarHandle の特定のアクセス モードは、 <ul><li>フィールドが final宣言されている場合、書き込み、アトミック更新、数値アトミック更新、ビットごとのアトミック更新アクセス モードはサポートされません。 <li>フィールドの種類が byteshortcharintlongfloat、または double 以外の場合、数値アトミック更新アクセス モードはサポートされません。 <li>フィールドの種類が booleanbyteshortcharint 、または long 以外の場合、ビットごとのアトミック更新アクセス モードはサポートされません。 </ul>

フィールドが volatile 宣言されている場合、返された VarHandle は、指定されたアクセス モードに従ってフィールドへのアクセスをオーバーライドします (実質的に volatile 宣言は無視されます)。

フィールド型が float または double の場合、数値およびアトミック更新アクセス モードはビットごとの表現を使用して値を比較します (それぞれ Float#floatToRawIntBitsDouble#doubleToRawLongBitsを参照)。

9 に追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象