如何进行不同类型的论证?
我想做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;
}
}
}
}
答案 0 :(得分:2)
您正在寻找一种叫做方法超载的东西。您可以在Google上搜索大量结果,但是基本上您想对函数进行两次定义:
void add(float n){
// do the thing
}
void add(float[][] n){
// do the thing
}
从理论上讲,您也可以使用一个Object
参数,然后使用instanceof
关键字来确定实际传入的类型,但这是一种更骇人的方法。