Я создаю класс, который, как предполагается, можно использовать с массивом любого типа чисел (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;
}
За исключением того, что это не будет компилироваться, потому что "Number" не реализует операторы "+ =" или "/ =". Хуже того, класс Java Number не реализует даже самые простые операторы, такие как «+» или «-»! Как я могу создать метод, который возвращает среднее значение массива чисел, если java не позволяет мне его скомпилировать, потому что считает, что числа нельзя складывать?!?!