java.lang.reflect.Field.setInt() 方法示例



說明

java.lang.reflect.Field.setInt(Object obj, int value) 方法將欄位的值設定為指定物件上的 int。

宣告

以下是 java.lang.reflect.Field.setInt(Object obj, int value) 方法的宣告。

public void setInt(Object obj, int value) 
   throws IllegalArgumentException, IllegalAccessException

public static void setInt(Object obj, int value)

  • obj − 應修改其欄位的物件。

  • value − 正在修改的 obj 欄位的新值。

返回

當且僅當此欄位是 Java 語言規範定義的合成欄位時返回 true。

異常

  • IllegalAccessException − 如果此 Field 物件正在強制實施 Java 語言訪問控制且基礎欄位不可訪問。

  • IllegalArgumentException − 如果指定物件不是宣告基礎欄位的類或介面(或其子類或實現)的例項。

  • NullPointerException − 如果指定的物件為 null 且欄位為例項欄位。

  • ExceptionInInitializerError − 如果此方法激發的初始化失敗。

示例

以下示例顯示了 java.lang.reflect.Field.setInt(Object obj, int value) 方法的用法。

package com.tutorialspoint;

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.setInt(sampleObject, 7);
      
      System.out.println(field.getInt(sampleObject));
   }
}

class SampleClass {
   public static int sampleField = 5;
}

讓我們編譯並執行上述程式,這將產生以下結果 −

7
java_reflect_field.htm
廣告
© . All rights reserved.