JAVA可以通過反射獲取成員變量和靜態變量的名稱,局部變量就不太可能拿到了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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類是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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 ; //單個 } |
以上這篇利用反射獲取Java類中的靜態變量名及變量值的簡單實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。