我希望能够将整个二维数组的行传递给我在Java中创建的服务方法。 (我将使用a作为我想传递的值)。 service方法接受一个2d数组作为参数,并为该数组设置一个变量。所以基本上我有一个数组,其中包含someArray [0] [0]
的值 0 1 2 3 4
0 | x x x x x
1 | a a a a a
2 | x x x x x
3 | x x x x x
我可以简单地传递someArray [1]
省略第二组方括号以假设我想要整行?
或者可以说someArray [1] [0-4]
答案 0 :(得分:0)
调用方法时,传递的参数必须与方法中定义的参数匹配。因此,如果您的方法接受多维数组,则无法传递单个数组。您需要将整个多维数组传递给方法,并遍历外部和内部数组。解决此问题的一种解决方案是重载方法以接受单个数组并将该数组包装在另一个数组中:
public class PassArray {
public static void main(String[] args) {
String[][] arrays = {{"x","x","x","x","x"},{"x","x","x","x","x"},{"x","x","x","x","x"},{"x","x","x","x","x"}};
iterate(arrays[1]);
for(String[] array:arrays){
for(String s:array){
System.out.println(s);
}
}
}
public static void iterate(String[][] arrays){
for(String[] array: arrays){
for(int x = 0; x < array.length; x++){
array[x] = "y";
}
}
}
public static void iterate(String[] array){
String[][] arr = {array};
iterate(arr);
}
}