Cześć, wykonywałem ćwiczenie nr 8 z tutoriala Oracle i nie do końca rozumiem to co wytłuściłem <T extends Object & Comparable<? **super **T>>. Czy mógłby ktoś pomóc mi to zrozumieć ?
import java.util.*;
public class Main {
public static <T **extends Object** & Comparable<? **super **T>> T
maximum(List<? extends T> list, long begin, long end) {
return list.stream().skip(begin).limit(end).
max((o1, o2) -> o1.compareTo(o2)).get();
}
public static void main(String... args) {
List<Integer> list = new ArrayList<>();
for(int i = 0 ; i < 10 ; i++)
list.add(i);
System.out.println(maximum(list, 0, list.size()));
}
}