我必须实现一个类ComplexNumber
。它有两个通用参数T
和U
,它们必须来自继承自Number类的某个类。 Complex类有2个字段(实例变量):实部和虚部,并拥有实现这些方法:使用通配符泛型执行compareTo
ComplexNumber(T real, U imaginary)
- 构造getReal():T
getImaginary():U
modul():double
- 这是复杂的模数compareTo(ComplexNumber<?, ?> o)
- 此方法使得根据2个复数
我已经实现了所有这些方法,除了最后一个,compareTo
,因为我不知道如何操纵这些通配符。
这里是我的代码:help here - pastebin
class ComplexNumber <T extends Number,U extends Number> implements Comparable<ComplexNumber> {
private T real;
private U imaginary;
public ComplexNumber(T real, U imaginary) {
super();
this.real = real;
this.imaginary = imaginary;
}
public T getR() {
return real;
}
public U getI() {
return imaginary;
}
public double modul(){
return Math.sqrt(Math.pow(real.doubleValue(),2)+ Math.pow(imaginary.doubleValue(), 2));
}
public int compareTo(ComplexNumber<?, ?> o){
//HELP HERE
}
}
有人用这种方法帮助吗?
如果'T'和'U'都是'Number',只需声明它们,而不是使用泛型。 –
它应该具有与当前复数相同的类型,它是'ComplexNumber' –