Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用不同的参数类型保持相同的函数_Java_Arrays_Inheritance_Matrix_Overriding - Fatal编程技术网

Java 如何使用不同的参数类型保持相同的函数

Java 如何使用不同的参数类型保持相同的函数,java,arrays,inheritance,matrix,overriding,Java,Arrays,Inheritance,Matrix,Overriding,先生 我开发了这个函数来显示矩阵。 我不想再写函数了,也许我有很多不同类型参数的矩阵 private void displyMatrix(int matrix[][]) { for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + " ");

先生 我开发了这个函数来显示矩阵。 我不想再写函数了,也许我有很多不同类型参数的矩阵

private void displyMatrix(int matrix[][]) {
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[i].length; j++) {
            System.out.print(matrix[i][j] + " ");
        }
        System.out.println();
    }
}
private void displaymatrix(int-matrix[]]{
对于(int i=0;i
如果我有另一个双参数矩阵会怎么样? 我是否必须重新编写函数,或者有其他方法。
谢谢

您可以在泛型的帮助下创建这样的方法

public <T> void print(T[][] matrix) {
   for (int i = 0; i < matrix.length; i++) {
      for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
      }
      System.out.println();
   }
}

您可以在泛型的帮助下创建这样的方法

public <T> void print(T[][] matrix) {
   for (int i = 0; i < matrix.length; i++) {
      for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
      }
      System.out.println();
   }
}

看看java中的重载是什么。当然,可以有很多方法用不同类型的参数做同样的事情。当然,可以有很多方法对不同类型的参数执行相同的操作。您甚至可以使用
确保
T
是一个数值,因此它只能与
整数
双精度
等一起使用:)@NiziL作为考虑中的方法,基本上是打印数据,只要并没有特定于数字的操作,并且矩阵可以是任何东西(即自定义对象),它就应该是无边界的。你怎么看?完全同意!我听到了矩阵,看到了一个
int
,直接想到了数学。。。我的推断太多了。非常感谢,这非常有用,也许如果我从int改为Integer,代码会很慢?对于较大的代码,您甚至可以使用
确保
T
是一个数值,因此它只能与
整数
双精度
等一起使用:)@NiziL作为考虑中的方法基本上是打印数据,只要没有特定于数字的操作,矩阵可以是任何东西(即自定义对象),它应该是无边界的。你认为如何?完全同意!我听到矩阵,看到一个
int
,并直接思考数学…从我的角度进行了太多的推断。非常感谢,这非常有帮助,也许如果我从int更改为整数,代码会很慢?如果是大型代码