java 通过变量调用 Class 属性

java calling the Class Attribute by variable

我想通过变量调用class属性。 例如

Billing.SKU_NAME_PREMIUM1

我要:

String a = 'SKU_NAME_PREMIUM1';
Billing.a

编辑:

我想在

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

因为classBilling有30多个属性和select运行时的属性取决于用户的选择

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

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

您似乎在寻找变量。现在假设 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);