java在数组中获取元素,但知道字符串中的arrayname

java在数组中获取元素,但知道字符串中的arrayname,java,Java,我想获取数组元素,我知道数组的名称。但我知道字符串中的一个名称 String[] strsub0={"out","err","in","console()"}; String[] strsub1={"print","println","append","close","flush"}; //所以我想得到数组中的所有元素,名称是strsub+i; //arrayname.length不返回strsub0.length,但我需要它 int i=0; //this i get through a l

我想获取数组元素,我知道数组的名称。但我知道字符串中的一个名称

String[] strsub0={"out","err","in","console()"};
String[] strsub1={"print","println","append","close","flush"};
//所以我想得到数组中的所有元素,名称是strsub+i; //arrayname.length不返回strsub0.length,但我需要它

int i=0; //this i get through a loop ,so i can't code strsub0 in my code.

String arrayname="strsub"+i;  //this is array name i want ,but it is a String.

for(intz=0;z您需要一个数组数组

for(int z=0;z<arrayname.length;z++){  

   System.out.println(arrayname[z]);

}
然后你就可以

String[][] strsub={{"out","err","in","console()"},
                   {"print","println","append","close","flush"};

可以使用键为所需且值为数组的映射。如下所示:

String[] arr = strsub[i];
Map Map=newhashmap();//(假设您的操作符是Java 7+)
put(“strsub0”,新字符串[]{“out”,“err”,“in”,“console()”});
put(“strsub1”,新字符串[]{“print”,“println”,“append”,“close”,“flush”});

然后检索如下值:
map.get(arrayname)[i]
。当然,您必须检查
map.get(arrayname)
是否实际存在,或者是否为
null

什么是高级需求?很少需要像您所询问的内容这样的内容将其放入数组中,如:
String[]]a={substr0,substr1,…};for(int i=0;i
您知道您将事先使用哪些数组吗?@geoand可能是。但我只有这个解决方案。它是。您可能想重新考虑您的方法。这是我能想到的唯一可行的解决方案-至少有意义。
Map<String, String[]> map = new HashMap<>(); //(assuming you have Java 7+ for the <> operator)
map.put("strsub0 ", new String[]{"out", "err", "in", "console()"});
map.put("strsub1 ", new String[]{"print", "println", "append", "close", "flush"});