MethodHandles.Lookup.UnreflectVarHandle(Field) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
型のクラスで宣言された型T
の反映されたフィールドf
へのアクセスを許可する VarHandle を生成します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
パラメーター
- f
- Field
の型のフィールドと型 T
の宣言クラスを持つ、反映されたフィールド R
戻り値
非静的フィールドまたは静的フィールドへのアクセスを許可する VarHandle
- 属性
注釈
型のクラスで宣言された型T
の反映されたフィールドf
へのアクセスを許可する VarHandle を生成しますR
。 VarHandle の変数型は です T
。 フィールドが静的でない場合、VarHandle には 1 つの座標型 があります R
。 それ以外の場合、フィールドは静的であり、VarHandle には座標型がありません。
フィールド accessible
のフラグの値に関係なく、ルックアップ クラスの代わりにアクセス チェックが直ちに実行されます。
フィールドが静的で、返された VarHandle が操作されている場合、フィールドの宣言クラスがまだ初期化されていない場合は初期化されます。
返される VarHandle の特定のアクセス モードは、次の条件ではサポートされていません。<ul li>><フィールドが宣言されているfinal
場合、書き込み、アトミック更新、数値アトミック更新、ビットごとのアトミック更新アクセス モードはサポートされていません。 <>フィールドの種類が byte
、int
char
long
short
float
または double
以外の場合、数値アトミック更新アクセス モードはサポートされていません。 <フィールド型が 、 short
byte
int
char
または long
以外のboolean
場合は li>。ビットごとのアトミック更新アクセス モードはサポートされていません。 </ul>
フィールドが宣言されている場合、返される VarHandle は、指定された volatile
アクセス モードに従って、フィールドへのアクセスをオーバーライドします (宣言は volatile
事実上無視されます)。
フィールド型が または double
の場合、数値およびアトミック更新アクセス モードはfloat
、ビットごとの表現を使用して値を比較します (それぞれ および Double#doubleToRawLongBits
を参照Float#floatToRawIntBits
)。
9 に追加されました。
の java.lang.invoke.MethodHandles.Lookup.unreflectVarHandle(java.lang.reflect.Field)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。