반사를 이용하여 자바 클래스의 정적 변수 이름과 변수 값을 얻는 간단한 실례

JAVA는 반사를 통해 구성원 변수와 정적 변수의 이름을 얻을 수 있기 때문에 국부 변수는 얻을 수 없습니다.

public class Test {

  public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    // 
    Class clazz = Class.forName("com.qianmingxs.ScoreTable");
    Field[] fields = clazz.getFields();

    for( Field field : fields ){
      System.out.println( field.getName() + " " +field.getInt(clazz) );
    }
    // 
    /*Class clazz = Class.forName("com.qianmingxs.ScoreTable");
    Field field = clazz.getField("FIVE");
    System.out.println( field.getInt(clazz));*/
  }

}
여기서 볼 Java 클래스는 다음과 같습니다.

public class ScoreTable {
  private ScoreTable() {}
  public final static int FIVE = 100;// 5
  public final static int DOUBLE_ALIVE_FOUR = 99;// 4( )
  public final static int ALIVE_FOUR_AND_DEAD_FOUR = 98;// 4 4( )
  public final static int ALIVE_FOUR_AND_ALIVE_THREE = 96;// 4 3( )
  public final static int ALIVE_FOUR_AND_DEAD_THREE = 95;// 4 3( )
  public final static int ALIVE_FOUR_AND_ALIVE_TWO = 94;// 4 2
  public final static int ALIVE_FOUR = 93;// 4
  public final static int DOUBLE_DEAD_FOUR = 92;// 4
  public final static int DEAD_FOUR_AND_ALIVE_THREE = 91;// 4 3
  public final static int DEAD_FOUR_AND_ALIVE_TWO = 90;// 4 2
  public final static int DOUBLE_ALIVE_THREE = 80;// 3
  public final static int ALIVE_THREE_AND_DEAD_THREE = 70;// 3
  public final static int HALF_ALIVE_FOUR = 65;// 4( ○○ ○ ), 4
  public final static int ALIVE_THREE = 60;// 3
  public final static int DEAD_FOUR = 50;// 4
  public final static int DOUBLE_ALIVE_TWO = 40;// 2
  public final static int DEAD_THREE = 30;// 3
  public final static int ALIVE_TWO = 20;// 2
  public final static int DEAD_TWO = 10;// 2
  public final static int SINGLE = 0;// 
}
이상의 반사를 이용하여 자바 클래스의 정적 변수 이름과 변수 값을 얻는 간단한 실례는 바로 편집자가 여러분에게 공유한 모든 내용입니다. 참고도 해주시고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기