Javareflect-field-setboolean

提供:Dev Guides
移動先:案内検索

java.lang.reflect.Field.setBoolean()メソッドの例

説明

  • java.lang.reflect.Field.setBoolean(Object obj、Object value)*メソッドは、指定されたオブジェクトのフィールドの値をブール値として設定します。

宣言

以下は、* java.lang.reflect.Field.setBoolean(Object obj、boolean value)*メソッドの宣言です。

public void setBoolean(Object obj, boolean value)
   throws IllegalArgumentException, IllegalAccessException

パラメーター

  • obj -フィールドを変更するオブジェクト。
  • -変更されるobjのフィールドの新しい値。

返品

このフィールドがJava言語仕様で定義されている合成フィールドである場合にのみtrue。

例外

  • IllegalAccessException -このFieldオブジェクトがJava言語アクセス制御を実施しており、基礎となるフィールドにアクセスできない場合。
  • IllegalArgumentException -指定されたオブジェクトが、基礎となるフィールド(またはそのサブクラスまたは実装者)を宣言するクラスまたはインターフェースのインスタンスではない場合
  • NullPointerException -指定されたオブジェクトがnullで、フィールドがインスタンスフィールドである場合。
  • ExceptionInInitializerError -このメソッドによって引き起こされた初期化が失敗した場合。

次の例は、java.lang.reflect.Field.setBoolean(Object obj、Object value)メソッドの使用方法を示しています。

package com.finddevguides;

import java.lang.reflect.Field;

public class FieldDemo {

   public static void main(String[] args) throws NoSuchFieldException,
      SecurityException, IllegalArgumentException, IllegalAccessException {

      SampleClass sampleObject = new SampleClass();

      Field field = SampleClass.class.getField("sampleField");

      field.setBoolean(sampleObject, false);

      System.out.println(field.getBoolean(sampleObject));
   }
}

class SampleClass {
   public static boolean sampleField = true;
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

false