你如何传递数组维度?

Rus*_*ell 2 java arrays methods dimensions

如何在java中传递数组维度和数组?我这样的东西:

public String[1][1] abc(){
return theStringArray
}    
//but this isn't possible
Run Code Online (Sandbox Code Playgroud)

那么有没有办法传递数组的维度?

现在我有2个方法为每个维度传递一个int但是有更好的方法吗?

它的核心问题是:

当我尝试传递数组并找到它的长度时,它给了我一大堆错误.问题是接收数组的类的数组需要初始化传递的数组将复制到的数组,但是没有传递的数组维度,我该如何初始化它?

数组传递给的类:

String[][] lordStats;
ArrayList<String> troopList;

public void loader() {
    lord lorder = new lord();
    lordStats = lorder.returnLord();
    total = lorder.returnLordTotal();
for (int i = 0; i < lordStats[0].length; i++)
    troopList.add (lordStats[i][2]);

}
Run Code Online (Sandbox Code Playgroud)

数组的类来自:注意方法主创建者被称为多次.

public class lord {
static int total;
String[][] lordStats;

public void total(int total1) {
    total = total1;
    System.out.println("lordTotal");

}

public void lordCreator(String lord, String kingdom, String troop, int times) {

    lordStats = new String[total][3];
    System.out.println("animalStats");

    lordStats[times][0] = lord;
    lordStats[times][1] = kingdom;
    lordStats[times][2] = troop;


}

public String[][] returnLord() {
    return lordStats;
}
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

在Java中,您通常不必将数组维度与数组一起传递,因为每个数组都隐式地知道它自己的维度.

如果调用该数组arr,则arr.length返回其大小.如果arr是2D数组,arr[0].length则会给出第一行的大小; arr[1].length是下一行的大小,依此类推.

如果函数是分配调用者指定大小的数组,只需将所需的维度作为int参数传递给函数.

  • @Russell:从口头描述中理解这个问题真的很难.向我们展示一些代码. (2认同)