static String[] E1 = {"filex1", "file333y", "readme"};
我有五个阵列(E1,E2,E3,E4和E5),我在上面定义。在这些数组中有文件名。我想分别遍历每个E *数组并使用该文件。
String eb = "E"+i;
是我尝试循环它们,但是当我用
在另一个循环中调用它时eb[j]
它让我感觉像“eb是一个字符串,但这里需要数组类型”......
for( int i = 0; i < ENum - 1; i++)
{
String eb = "E"+i;
for( int j = 0; j < eb.length - 1; j++)
{
String tempFile = Path4Files+eb[j]+".txt";
}
}
答案 0 :(得分:3)
创建一个多维数组:
static String[][] E = {{"filex1", "file333y", "readme"}, {...}, {...}, {...}, {...}};
答案 1 :(得分:3)
正如@Andres在他的回答中所说,唯一的方法是反思,尽管只针对成员变量。
一种解决方案是将数组添加到另一个数组,然后循环遍历它。
static String[] E1 = {"filex1", "file333y", "readme"};
//...
static String[][] es = {E1, E...};
答案 2 :(得分:2)
import java.util.Arrays;
import java.util.List;
public class Eggs {
static String[] E1 = {"filex1", "file333y", "readme"};
static String[] E2 = {"aaa", "bbb", "ccc"};
static String[] E3 = {"ddd", "eee", "fff"};
static String[] E4 = {"ggg", "hhh", "iii"};
static String[] E5 = {"jjj", "kkk", "lll"};
public static void main(String[] args){
List<String[]> myList = Arrays.asList(E1,E2,E3,E4,E5);
for(String[] myArray: myList){
for(String myString: myArray){
System.out.println(myString);
}
}
}
}
答案 3 :(得分:1)
你可以这样做:
String[] E1 = {"filex1", "file333y", "readme"};
String[] E2 = {"filex21"};
for (String[] files : new String[][] {E1, E2})
{
for(String fileName : files)
{
String tempFile = Path4Files + e[j] + ".txt";
}
}
答案 4 :(得分:0)
要通过从字符串中组合其名称来访问Java中的变量,您需要使用reflection。此外,它仅适用于成员变量,而不适用于自动变量。