gpt4 book ai didi

java - 如何动态显示数组

转载 作者:行者123 更新时间:2023-11-29 04:56:29 24 4
gpt4 key购买 nike

公共(public)类地球仪

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 循环中获取特定的数组值。

最佳答案

在您的代码的当前状态下,这需要反射(reflection)。但是,如果您需要做这样的事情,可能 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));
}

Note that the Globe class name should be capitalized, to be consistent with Java conventions.


为了示例,下面是如何使用反射在您不控制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));
}

关于java - 如何动态显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33581417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com