java通过变量调用Class Attribute

时间:2015-02-12 18:45:06

标签: java reflection

我想通过变量调用类属性。 例子

Billing.SKU_NAME_PREMIUM1

我想:

String a = 'SKU_NAME_PREMIUM1';
Billing.a

编辑:

我想在

中使用变量作为属性名称
 SharedPreferences.Editor editor = shared.edit();
 editor.putBoolean(Billing.KEY_PREMIUM_VERSION, true);

因为类Billing具有超过30个属性并在运行时选择属性取决于用户的选择

2 个答案:

答案 0 :(得分:0)

您可以使用Class.getField(name)。注意:不建议在生产/最终代码中使用反射

Object o = ...;
Field f = o.getClass().getField("a");

答案 1 :(得分:0)

看起来您正在寻找变量。现在假设KEY_PREMIUM_VERSION的类型为int,我们可以使用

SharedPreferences.Editor editor = shared.edit();
int ver = Billing.KEY_PREMIUM_VERSION;//variable `ver` will 
                                      //copy value of Billing.KEY_PREMIUM_VERSION
editor.putBoolean(ver, true);