Newbee在这里 在Android应用程序中,我有一个类ProdMod 我可以通过pm = new ProdMod();
以编程方式评估该类t1,t2,t3,... t35类中有许多成员 以编程方式我可以通过pm.t1 = value
来操作成员我想要做的是能够以编程方式指定我想要访问的成员,例如pm.t4或pm.t23以响应参数(PARAM)。
换句话说,当PARAM = 13时,我想要pm.t13 = value;
当PARAM = 30时我想要pm.t30 =值。
我可以通过使用PARAM值作为案例的开关来实现这一点。
我的问题是:有没有办法用更少的代码来实现这一目标?有没有办法在pm.xxx中更改xxx的值,这样当PARAM为7 pm时,Android将识别为pm.t7,当PARAM为21 pm时,Android将识别为pm.xt < / p>
提前感谢您的帮助。示例代码表示赞赏。 吉姆
答案 0 :(得分:0)
使用数组而不是单个字段!您的PARAM
将是此数组的索引。
在:
class ProdMod
{
public float t1;
public float t2;
public float t3;
public float t4;
public float t5;
public ProdMod() { }
// ...
}
后:
class ProdMod
{
private float[] t = new float[5];
public float get_t_element(int i) { return t[i]; }
public void set_t_element(int i, float value) { t[i] = value; }
public ProdMod() { }
// ...
}
此处t
包含float
个,只有5个,而不是35个,但这只是一个示例。请注意,第二个示例中的i
和get_t_element
的索引参数{0}从0到4,而不是从1到5。Here是关于数组的官方Java教程