字符串转化为变量名的两种方法

例如下面有一个字符串常量的定义类ConstString

Public class ConstString{
   private static String constString_1 = "aaaa";
   private static String constString_2 = "bbbb";
   private static String constString_3 = "cccc";
   private static String constString_4 = "dddd";
   private static String constString_5 = "eeee";
}
然后我想在下面这个类中调用ConstString中定义的常量字符串
public class Test{

  for(int i=1;i<5;i++){
    String str = "constString_" + i;
    //下面通过字符串str得到与之对应的常量字符串的值,并输出,该怎么做
    //我的目的是这样的,利用形如ConstString.str来拿到常量字符串的值,

}

方法一:

转为变量名我想可以先把变量存入一个hashMap,再按key查出来


方法二(未试):

public class Test{
  Class clz = ConstString.class;
  for(int i=1;i<5;i++){
  String str = "constString_" + i;
  Field f = clz.getDeclaredField(str);
  f.setAccessible(true);
  String s = f.get(null).toString();
}

你可能感兴趣的:(字符串转化为变量名的两种方法)