我一直在研究第一年Java課程中棘手問題的答案,具體而言,我需要編寫一個能夠將一個通用列表,並在列表中找到最高和最低。在Java中使用泛型(使用相同類型進行比較和求和)
我完全有能力分別完成這兩項任務,使T(通用類型)擴展數字以進行求和,並進行比較以進行比較。當我嘗試完成兩個相同泛型類型的任務時,就會發生這個問題,因爲Java無法實現多重繼承。
總之,我怎麼能完成這兩項任務,而T的上界是Number類?
代碼片段和建議感謝!
我一直在研究第一年Java課程中棘手問題的答案,具體而言,我需要編寫一個能夠將一個通用列表,並在列表中找到最高和最低。在Java中使用泛型(使用相同類型進行比較和求和)
我完全有能力分別完成這兩項任務,使T(通用類型)擴展數字以進行求和,並進行比較以進行比較。當我嘗試完成兩個相同泛型類型的任務時,就會發生這個問題,因爲Java無法實現多重繼承。
總之,我怎麼能完成這兩項任務,而T的上界是Number類?
代碼片段和建議感謝!
T extends Number & Comparable<T>
應該這樣做。 T extends Number & Comparable<? super T>
有點更一般。
的Java不支持「接口的多重繼承」(也許還有一些怪人多種實現的繼承」在Java SE 8)一個類繼承另一個類,並能實現多種接口。
(不知道是否java.lang.Number
你可能想要按照與Comparator
類似的方法向你介紹自己的類型。)
非常感謝!因爲我們還沒有使用過比較器,所以我將簡單地使用這樣一個事實,即元素必須全部是Number並且取其doubleValue(); My p在向我們提供此類信息時,rof並不是最好的,所以再次感謝! – user1297003 2012-03-28 03:01:18
http://onjava.com/onjava/excerpt/javaian5_chap04/index1.html看起來可能對你有幫助 – GreyBeardedGeek 2012-03-28 02:54:51