Wiem, że to może nie mieć żadnego sensu, ale to tylko mój eksperyment. Istnieją 3 typy (o ile wiem), które obsługują metodę subString(). I wan't aby metoda rodzajowa tak:Java - ogólna metoda z ograniczonymi typami dla 3 podobnych typów: 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;
}
To nie będzie skompilować tak, ponieważ można używać jak wiele interfejsów, jak trzeba, ale tylko jedna klasa jako ograniczonego typu. Ta metoda powinna działać dobrze dla tych 3 typów: String, StringBuilder, StringBuffer, ale pytania brzmią: jak ustawić 3 typy jako ograniczone typy?
Deklaruje 3 typy parametrów; jeden o nazwie 'T', jeden o nazwie' StringBuffer' i jeden o nazwie 'StringBuilder'. Używana jest tylko pierwsza, a ponieważ jej górna granica 'String' to' final', zawsze będzie to 'String'. –