Use reflection to get a simple instance of the static variable name and value in the Java class

  • 2020-05-26 09:16:05
  • OfStack

JAVA can get the names of member variables and static variables through reflection, making local variables less likely.


public class Test {

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

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

}

The Java class to view is:


public class ScoreTable {
  private ScoreTable() {}
  public final static int FIVE = 100;// into 5
  public final static int DOUBLE_ALIVE_FOUR = 99;// Double live 4( Analytical hand )
  public final static int ALIVE_FOUR_AND_DEAD_FOUR = 98;// live 4 die 4( Hand analysis )
  public final static int ALIVE_FOUR_AND_ALIVE_THREE = 96;// live 4 live 3( Analytical hand )
  public final static int ALIVE_FOUR_AND_DEAD_THREE = 95;// live 4 die 3( Analytical hand )
  public final static int ALIVE_FOUR_AND_ALIVE_TWO = 94;// live 4 live 2
  public final static int ALIVE_FOUR = 93;// live 4
  public final static int DOUBLE_DEAD_FOUR = 92;// The double die 4
  public final static int DEAD_FOUR_AND_ALIVE_THREE = 91;// die 4 live 3
  public final static int DEAD_FOUR_AND_ALIVE_TWO = 90;// die 4 live 2
  public final static int DOUBLE_ALIVE_THREE = 80;// Double live 3
  public final static int ALIVE_THREE_AND_DEAD_THREE = 70;// Live to die 3
  public final static int HALF_ALIVE_FOUR = 65;// Half alive 4( A. a. similar   A. the shape ), Priority is less than live 4
  public final static int ALIVE_THREE = 60;// live 3
  public final static int DEAD_FOUR = 50;// die 4
  public final static int DOUBLE_ALIVE_TWO = 40;// Double live 2
  public final static int DEAD_THREE = 30;// die 3
  public final static int ALIVE_TWO = 20;// live 2
  public final static int DEAD_TWO = 10;// die 2
  public final static int SINGLE = 0;// A single 
}

Related articles: