I am learning Java and am puzzled as to the difference between the two following definitions:
public static <T extends Object & Comparable<? super T>>
T max(List<? extends T> list, int begin, int end) {
...
}
(taken from the answer to exercise 8 in the oracle java tutorial: Tutorial) and
public static <T extends Comparable<T>>
T max (List<T> list, int begin, int end) {
...
}