我正在使用广义类型的多项式系数实现多项式类。我有这个代码:
public class Polynomial<T> {
private HashMap<Integer, T > polynomial;
public Polynomial(T coefficient, Integer index) {
polynomial = new HashMap<Integer, T>();
if (coefficient!=0)
polynomial.put(index, coefficient);
}
public void sum(Polynomial<T> w) {
for (Map.Entry<Integer, T> e : w.polynomial.entrySet()) {
T tmp = polynomial.get(e.getKey());
if(tmp==null)
polynomial.put(e.getKey(), e.getValue());
else {
polynomial.remove(e.getKey());
if (tmp+e.getValue()!=0)
polynomial.put(e.getKey(), tmp+e.getValue());
}
}
}
...
}
由于显而易见的原因,它无法编译。运算符:==、!=、+、- 和 * 没有为通用类型 T 定义。据我所知,我在 Java 中无法覆盖运算符。我怎么解决这个问题?