使用数组来操作类成员

时间:2013-08-27 15:34:57

标签: android class

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>

提前感谢您的帮助。示例代码表示赞赏。 吉姆

1 个答案:

答案 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个,但这只是一个示例。请注意,第二个示例中的iget_t_element的索引参数{0}从0到4,而不是从1到5。Here是关于数组的官方Java教程