动态变量名称Java我如何能够检索具有动态名称的变量的值例如,我有常量列表public class Constant{
public static final String S_R = "Standard(240)";
public static final String S_W = "Standard(180)";
public static final String L_R = "Large(360)";
public static final String L_W = "Large(280)";}基于数据库,我构建了一个变量名String varName = "S" + "_" +"R"; // This can be S_R , S_W , L_R or L_W
String varVal = // How do i get value of S_R
3 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
使用带有变量名称的普通HashMap作为其值的字符串。或者使用EnumMap将枚举作为键,将值作为值。AFAIK,这是使用Java时最接近的。当然,你可以搞砸反射,但IMO的地图方法更合乎逻辑。
红糖糍粑
TA贡献1815条经验 获得超6个赞
您可以使用a Map<String, String>
并通过其键定位值。
更好的是,你可以拥有enum
:
public enum Foo { S_R("Standard", 240), S_W("Standard", 180),...; private String type; private String duration; // constructor and getters}
然后打电话 Foo.valueOf(name)
(你也可以通过反射来做到这一点 - Constants.class.getField(fieldName)
然后调用field.get(null)
(静态为null)。但这不是一个好方法。)
添加回答
举报
0/150
提交
取消