我想要做的是使用字符串访问存储在一个类中的变量。 例如,我有
public class Values {
public static boolean enabled;
}
然后在项目的不同部分,我有对象和带有字段名称的字符串。如何获取和设置字段的值?
答案 0 :(得分:8)
如果您将名称作为字符串,则应使用反射:
import java.lang.reflect.Field;
public class Values {
public static boolean enabled = false;
public static void main(String[] args) throws Exception {
Values v = new Values();
Field field = v.getClass().getField("enabled");
field.set( v, true );
System.out.println( field.get(v) );
}
}
答案 1 :(得分:1)
Values.enabled = true;
或
Values.enabled = false;
或者,您可以为Values
类创建静态getter和setter,并调用这些静态方法。
答案 2 :(得分:1)
public class Values {
public static Map<string,bool> variableMap;
public static void main(String[] args) throws Exception {
// adding a 'variable'
variableMap = new YourFavoriteMapImplementation();
variableMap.put("enabled",true);
// accessing the 'variables' value
bool val = variableMap.get("enabled");
System.out.println(val);
}
}