不同类型的论点?

时间:2019-01-24 20:19:36

标签: processing

如何进行不同类型的论证?

我想做m.add(5)m.add(float[][])。我该怎么办?

void add(? n) {
    for (int i = 0; i < cols; i++) {
           for (int j = 0; j < rows; j++) {
            data[i][j] += n;
           }
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您正在寻找一种叫做方法超载的东西。您可以在Google上搜索大量结果,但是基本上您想对函数进行两次定义:

void add(float n){
  // do the thing
}

void add(float[][] n){
  // do the thing
}

从理论上讲,您也可以使用一个Object参数,然后使用instanceof关键字来确定实际传入的类型,但这是一种更骇人的方法。