我知道它可能根本没有意义,但它只是我的实验。有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