Sempre que dou uma olhada no codigo do jdk do java fico sem entender oque esta acontecendo rs, entao resolvi perguntar aqui pra ver se consigo compreender.
tendo este codigo como exemplo
default void sort(Comparator<? super E> c) {
Collections.sort(this, c);
}
oque ele espera como parametro? estou acostumado a ver codigo simples, onde tem um tipo e o nome dele, ex: Comparator comparator, agr parametro como esse Comparator<? super E> c ja nao entendo nada rs. mas sei que oque esta entre os <>representa o tipo do objeto Comparator, mas oque é esse <? super E ?> ???