Java动态拼接变量

根据不同的条件拼接变量呢 String uri = RealnameCfg.AUTH{xx}URI; xx 是不固定的

public class RealnameCfg {

    public static final String AUTH2URI = "/two/elements";

    public static final String AUTH3URI = "/three/elements";

    public static final String AUTH4URI = "/four/elements";

    public static final List<String> AUTH_TYPE = new ArrayList<>();

    static {
        AUTH_TYPE.add("A");
        AUTH_TYPE.add("B");
    }
}

比如,根据逻辑判断 int num = 2;
获取 RealnameCfg.AUTH2URI 这个变量信息

阅读 7.6k
3 个回答

这个使用反射可以但是效率差,你可以使用 Map 来实现这个功能,key是你的变量名,value是变量的值,取得时候传入的key是一个字符串你可以拼接(将你的程序改一下,设一个静态的map)

把常量换成枚举类可行吗,类似于AUTH2URI(2, "/two/elements")

如果就三个
if(num==1);if(num==2);if(num==3)
多了你用String[]存着不就OK了么,反射你就别用了,效率差,通过巧妙的组织数据结构解决问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题