我知道它可能根本沒有意義,但它只是我的實驗。有3種類型(據我所知)支持方法subString()。我wan't使一個通用的方法是這樣的:Java - 帶有3種類型的有界類型的泛型方法:String,StringBuilder,StringBuffer
public static <T extends String & StringBuilder & StringBuffer> T substr3(T str) {
if (str.length() > 3) {
return (T) str.substring(0, 3);
}
return str;
}
它不會編譯這樣的,因爲你需要,你可以使用多個接口,但只有一個類別爲界類型。這種方法應該適用於這3種類型:String,StringBuilder,StringBuffer,但問題是:如何將這3種類型設置爲有界類型?
聲明3類型參數;一個名爲'T',一個名爲'StringBuffer',一個名爲'StringBuilder'。只有第一個被使用,並且由於它的上限'String'是'final',它將總是'String'。 – 2014-10-17 13:40:55