gpt4 book ai didi

数字实例的 Java 负数

转载 作者:行者123 更新时间:2023-11-29 07:07:36 30 4
gpt4 key购买 nike

我有这样一个类:

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

为什么当前的方法不起作用,我该如何解决?

最佳答案

基本上,Number 没有任何类型的“给我负值”操作——而这正是您想要的。

您可以编写自己的方法,对您感兴趣的每种数字进行特殊处理 - 但您不能只使用 - 运算符。该方法将非常丑陋,并且不能证明是类型安全的。这可能是您的全部。

关于数字实例的 Java 负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18074441/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com