Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 4 da Aula 5 - Collections framework - Assinatura do método

Fiz o que foi pedido e por curiosidade abri o código fonte para ver se o parametro era um Comparable mas não, tem essa assinatura o método e não compreendi como funciona, teria como alguem ajudar, obrigado.

public static <T extends Comparable<? super T>> void sort(List<T> list)
1 resposta
solução!

Resumo da ópera => Resumindo: ele quer garantir que o tipo passado é comparável com ele ou com alguém que é super tipo dele.

Tentativa de explicação

O tipo T da lista precisa ser filho de Comparable e esse comparable pode ser de qualquer coisa que é pai de T. Por exemplo, aqui na alura nós temos atividades em cada aula. Atividade pode ser Video, Exercício, Explicação etc. Todo mundo aí uma classe filha de Atividade.

A assinatura diz que o tipo da lista, pode ser por exemplo Video. Dado que o T é Video, a assinatura diz que Video tem que herdar de Comparable e o tipo desse Comparable pode ser o próprio T ou qualquer classe que é mãe dele, nesse caso poderia ser Atividade.