我正在製作一個泛型類,它使用T作爲主要參數。我需要對一些Ts進行排序,但要做到這一點,我需要實現一個通用的compareTo。我一直在尋找如何做到這一點。我知道如何實現像比較泛型T對象
public class Foo implements Comparable {
private int age;
public Foo (int age) {
this.age = age;
}
public int compareTo(Foo a) {
if (age < a.age) {
return -1;
}
if (age == a.age) {
return 0;
}
if (age > a.age) {
return 1;
} else {
return 0;
}
}
}
,但我失去的時候我試圖比較兩個通用的對象(例如,如果T是整數,它比較整數,如果T是字符串,它比較字符串) 。基本上,這個:
T.compareTo(T)
我知道這可能是我俯瞰一個簡單的解決方案,但我不明白,因爲沒有可變我可以比較。
請勿使用原始類型。 –
看起來你正在尋找[有界通配符](http://docs.oracle.com/javase/tutorial/java/generics/upperBounded.html)?但很難從你的問題或至少沒有你的通用實現的僞代碼中分辨出來。 – vanza
你是說你有類似'公共類ThingWithComparable>實現Comparable >'和'T'裏面的字段,你想比較嗎? –