我必須實現一個類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' –