我有这样的课:
public class SpiralGenerator<E extends Number> implements Iterator<List<E>> {
private void generate(int pos, E... array) {
if (pos == array.length) {
List<E> list = new ArrayList<>();
list.addAll(Arrays.asList(array));
currentResults.add(list);
return;
}
generate(pos + 1, array);
array[pos] = -array[pos];
}
}
但是它不允许array[pos] = -array[pos]
。如果我使用它Integer
代替E extends Number
它工作正常。
错误信息:
bad operand type E for unary operator '-'
where E is a type-variable:
E extends Number declared in class SpiralGenerator
为什么当前的方法不起作用,我该如何解决?