我有一个类似的字符串:
String someString=[[((2016, 5, 21, 2, 0, 0), (2016, 5, 23, 7, 0, 0)), [('TASK1', 'DONE'), ('TASK2', 'DONE'), ('TASK3', 'DONE'), ('TASK4', 'DONE'), ('TASK5', 'DONE')]]]
我想使用此字符串初始化多维数组,以便我可以使用索引检索值:
array[0]
应该((2016, 5, 21, 2, 0, 0), (2016, 5, 23, 7, 0, 0))
array[0][1]
应该(2016, 5, 23, 7, 0, 0)
等等。
在python中,我能够使用eval函数轻松完成,但不知道如何在Java中完成它。
答案 0 :(得分:0)
您正在寻找的东西似乎是一个三维数组。通过添加三个方括号来声明数组,并使用花括号表示每个数组的结尾。例如:
String someString [][][] = {
{{"2016", "5", "21", "2", "0", "0"},{"2016", "5", "23", "7", "0", "0"}},
{{"TASK1", "DONE"}, {"TASK2", "DONE"}}
};
在这种情况下,someString [0] [0] [0]将是2016年,someString [1] [1] [0]将是TASK2等。
在java中显示数组比python稍微复杂一些,其中标准方法是使用多个for循环来遍历每个数组。例如:
for (int h=0; h<someString.length; h++){
for (int i=0; i<someString[h].length; i++){
System.out.print(someString[h][i][0] + "\t");
for (int j=0; j<someString[h][i].length; j++){
System.out.print(someString[h][i][j]+"\t");
}
System.out.println();
}
}