我正在创建一个应该能够与任何类型的数字(float、int 等)的数组一起使用的类,所以这是我拥有的一种方法:
// T extends Number
public synchronized T[] average() {
Number[] ret = new Number[queue[0].length];
for (int i = 0; i < ret.length; ++i) {
for (int j = 0; j < size; ++j) {
ret[i] += queue[j][i]; // WTF ERROR?!
}
ret[i] /= size; // WTF ERROR?!
}
return (T[])ret;
}
除了这不会编译,因为“数字”没有实现“+=”或“/=”运算符。更糟糕的是,Java 的 Number 类甚至没有实现最基本的运算符,如“+”或“-”!如果java不让我编译它,我怎么能创建一个返回数字数组平均值的方法,因为它认为不能添加数字?!?!