Field.Set(Object, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した object 引数でこの Field
オブジェクトによって表されるフィールドを、指定した新しい値に設定します。
[Android.Runtime.Register("set", "(Ljava/lang/Object;Ljava/lang/Object;)V", "")]
public void Set (Java.Lang.Object? obj, Java.Lang.Object? value);
[<Android.Runtime.Register("set", "(Ljava/lang/Object;Ljava/lang/Object;)V", "")>]
member this.Set : Java.Lang.Object * Java.Lang.Object -> unit
パラメーター
- obj
- Object
フィールドを変更する必要がある オブジェクト
- value
- Object
変更される フィールドの obj
新しい値
- 属性
例外
オブジェクトが で null
、フィールドが非静的である場合
オブジェクトが宣言クラスと互換性がない場合
このフィールドにアクセスできない場合
注釈
指定した object 引数でこの Field
オブジェクトによって表されるフィールドを、指定した新しい値に設定します。 基になるフィールドにプリミティブ型がある場合、新しい値は自動的にラップ解除されます。
操作は次のように進みます。
基になるフィールドが静的な場合、 obj
引数は無視されます。null である可能性があります。
それ以外の場合、基になるフィールドはインスタンス フィールドです。 指定したオブジェクト引数が null の場合、メソッドは を NullPointerException
スローします。 指定したオブジェクト引数が、基になるフィールドを宣言するクラスまたはインターフェイスのインスタンスでない場合、メソッドは を IllegalArgumentException
スローします。
この Field
オブジェクトが Java 言語アクセス制御を適用していて、基になるフィールドにアクセスできない場合、 メソッドは を IllegalAccessException
スローします。
基になるフィールドが最終フィールドの場合、次の条件が満たされた場合にのみ、このField
オブジェクトは<>書き込み</em> アクセス権を持ちます。 <ul<>li#setAccessible(boolean) setAccessible(true)
> はこのField
オブジェクトに対して成功しました。</li li><>フィールドは非静的です。および</li li><>フィールドの宣言クラスが Class#isRecord() レコード クラスではありません。</li></ul> 上記のチェックのいずれかが満たされていない場合、このメソッドは をIllegalAccessException
スローします。
この方法で最終フィールドを設定することは、プログラムの他の部分からアクセスできるようになる前に、空白の最終フィールドを持つクラスのインスタンスの逆シリアル化または再構築中にのみ意味があります。 プログラムの他の部分がこのフィールドの元の値を引き続き使用する場合など、他のコンテキストでを使用すると予測できない効果が生じる可能性があります。
基になるフィールドがプリミティブ型の場合、アンラップ変換によって新しい値がプリミティブ型の値に変換されます。 この試行が失敗した場合、 メソッドは を IllegalArgumentException
スローします。
ラップ解除が可能な場合、ID または拡大変換によって新しい値を基になるフィールドの型に変換できない場合、メソッドは を IllegalArgumentException
スローします。
基になるフィールドが静的な場合、フィールドを宣言したクラスは、まだ初期化されていない場合は初期化されます。
フィールドは、ラップされていない可能性があり、新しい値を拡大した値に設定されます。
の型 obj
でフィールドが非表示の場合、フィールドの値は前の規則に従って設定されます。
の java.lang.reflect.Field.set(java.lang.Object, java.lang.Object)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。