公共班级地球
public static int line1[] = {1,4,7,10,13};
public static int line2[] = {1,5,7,11,13};
public static int line2[] = {1,5,7,11,13};
公共课堂考试
for(i=0;i<3;i++)
{
String temp = "line"+i;
System.out.println(globe.temp);// how to get array hole value
}
如何获取globe类中的数组值。我需要获取特定的数组值。来自for循环给定行号。我不知道怎么问这个问题。请帮帮我......
答案 0 :(得分:3)
在代码的当前状态下,这需要反射。但是,如果您需要做这样的事情,可能Globe
类的设计在第一时间不正确。
如果您想按照我们的方式使用它们,您需要在代码中表达您的行之间的链接。那么使用二维数组呢?
public static final int[][] lines = {
{1,4,7,10,13},
{1,5,7,11,13},
{1,5,7,11,13}
};
然后以这种方式使用它:
for (int[] line : Globe.lines) {
System.out.println(Arrays.toString(line));
}
请注意,Globe类名称应大写,以与Java约定保持一致。
为了举例,以下是在您无法控制Globe
类的情况下如何使用反射执行此操作:
for (int i = 0; i < 3; i++) {
String fieldName = "line" + i;
Field lineField = Globe.class.getDeclaredField(fieldName);
int[] line = lineField.get(null); // null for static fields
System.out.println(Arrays.toString(line));
}