java - 如何传递数组维度?

标签 java arrays methods dimensions

如何在 java 中传递数组维度和数组? 我设想这样的事情:

public String[1][1] abc(){
return theStringArray
}    
//but this isn't possible

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

现在我有 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]);

}

数组来自的类:请注意,方法 lord Creator 被多次调用。

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;
}

最佳答案

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

如果数组名为 arr,则 arr.length 将返回其大小。如果arr是一个二维数组,那么arr[0].length将给出第一行的大小; arr[1].length 是下一行的大小,依此类推。

如果函数要分配调用者指定大小的数组,只需将所需的维度作为int参数传递到函数中即可。

关于java - 如何传递数组维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147911/

相关文章:

java - Java中的关键字 'of'

java - Android Studio "error: incompatible types: Fragment cannot be converted to SupportMapFragment"

java - 使用 Java Comparator 根据条件使用多个字段进行排序

java - 如何将arraylist转换为双引号中所有项目的字符串数组

Javascript - 如何创建过滤嵌套数组

java - 如何在主方法中以流畅的句子打印我创建的方法的结果?

基于 Python 类的装饰器,带有可以装饰方法或函数的参数

python - 从类方法内部更改全局变量

java - Jenkins:doFill 函数没有正确获取@QueryParameter

php - 对分块数组进行排序并理解它