不同类型的争论?
Argument of varying types?
如何进行不同类型的论证?
我想做 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;
}
}
}
}
您正在寻找一种叫做方法重载的东西。您可以 google 获得大量结果,但基本上您需要定义该函数两次:
void add(float n){
// do the thing
}
void add(float[][] n){
// do the thing
}
理论上,您也可以采用 Object
参数,然后使用 instanceof
关键字来确定实际传入的类型,但这是一种更 hackier 的方法。
如何进行不同类型的论证?
我想做 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;
}
}
}
}
您正在寻找一种叫做方法重载的东西。您可以 google 获得大量结果,但基本上您需要定义该函数两次:
void add(float n){
// do the thing
}
void add(float[][] n){
// do the thing
}
理论上,您也可以采用 Object
参数,然后使用 instanceof
关键字来确定实际传入的类型,但这是一种更 hackier 的方法。