2015-04-20 65 views
0

我要實現一些算法:可能性增加泛型類型的實例在Java中8

public class MaximumSubarrayAlgorithm<TArray extends List<T>, T extends Comparable<T>> 
{ 

public void DoSmth(TArray simple) { 

    T t1 = simple.get(0); 
    T t2 = simple.get(1); 

    t1 = t1 + t2; // wrong: The operator + is undefined for the argument type(s) T, T 

    return null; 
} 

}

如何要求可能添加的類型參數實例(和它告訴java編譯) ?可能T不是Integer,也可能是其他一些類型,表示支持添加。

+0

你想添加什麼?什麼是'simple.get()'?你能否包含更多信息? – Forseth11

+1

這是不可能的,因爲Java不支持操作符重載。 –

+0

定義你自己的操作符在java中不工作,如果我沒有錯,你必須製作方法,如.add() – vlatkozelka

回答

1

這在Java中不受支持。除了執行字符串連接外,您不能在其不知道類型的對象上使用+; Java不支持運算符重載。

+0

解決方法?使用具體類型?和重寫算法,例如,爲矩陣? –

+0

是的,使用具體的類型。使您的矩陣數據結構專門附加到雙打或整數或任何其他;不要試圖將其轉換爲不同的數字類型。 –