我想寫一個名爲Number
類,它需要一個泛型參數一個簡單的程序列表。 我在這裏的想法是我想將這些Number
存儲在List
中,這樣我就可以遍歷它並找到總和。使用泛型來實現這需要int和double和收益總和的Java
我的列表是[2,3,4,4,5]類型。這是int,double的混合體。我目前的代碼是低於 import java.util。*;
class Number<T> {
T n;
Number(T n) {
this.n=n;
}
public T getnumber(){
return n;
}
public String toString() {
return n.toString();
}
}
public class GenericsWildcards {
public static void main(String[] args) {
Number num1=new Number(5);
Number num2= new Number(5.4);
Number num3=new Number(1.2);
List<Number> list=new ArrayList<Number>();
list.add(num1);
list.add(num2);
list.add(num3);
System.out.println(list);//prints correctly
double sum=0;
for (Number i : list){
sum+=i.getnumber();//compile error here
}
System.out.println("sum is "+ sum);
}
}
的系統輸出打印正確的名單,但我無法getnumber
,因爲它是Object
類型的回報。我試着把它加倍,sum+=(Double)i.getnumber();
但仍然沒有幫助。 我該如何解決這個問題?非常感謝任何改進更好實施的想法。 謝謝
爲什麼不實例化一個'List'? –
在JDK中創建與類相同名稱的類通常是一個令人困惑的想法。 –