假設我們有一個帶有compare()函數的Parent接口。Java多態:如何避免類型轉換輸入參數?
public interface Parent {
public int compare(Parent otherParent);
}
假設孩子Child1,CHILD2,Child3實現這個接口家長
public class Child1 implements Parent {
@Override
public int compare(Parent other) {
Child1 otherChild = (Child1)other;
}
}
此外,我使用泛型<T extends Parent>
在代碼中其他任何地方。所以我需要從代碼的其他部分比較T類型的兩個對象。
我理解,這是一個不好的設計,因爲我在類型轉換compare()函數的父對象,我甚至不知道輸入的類型是否爲Child1的。
我怎樣才能避免這種類型的鑄造,而使用泛型?
猜猜我將不得不使用類型轉換即可。謝謝! –