循环来自另一个类的变量

时间:2017-04-12 15:54:06

标签: java loops oop

有人知道或了解如何在从另一个类获取多个变量时简化代码。 以下是我的计划结构:

$ctrl

无论如何从另一个类循环dat1~dat30变量? 提前感谢那些愿意帮助的人;)

2 个答案:

答案 0 :(得分:3)

您可以使用Java反射API从Data对象中读取值,如下所示:

Data data = new Data();
//load data object with values

for(int i=1;i<=30;i++) {//iterate
   Field f = data.getClass().getDeclaredField("data"+i);//get each field
   f.setAccessible(true);
   System.out.println((String)f.get(data));//read value
 }

但是,我强烈建议您重新构建课程,以便它包含String[] dataList<String> data,这将使事情变得更加轻松。

答案 1 :(得分:2)

如果可以存储Data类的变量,那么不要存储30个不同的变量,如dat1,dat2,...将它们存储在像dat[30]这样的数组中。通过这样做,您只需在循环中调用dat[i]即可访问这些字段。

但是,如果无法存储除不同变量之外的字段,则可以使用Class.getField方法按名称获取字段。在这种情况下,您可以通过调用getField("dat"+i)

来获取字段