Como você construiu o TreeSet usando o construtor sem argumentos, todos os objetos inseridos devem ser comparáveis entre si através da implementação da interface Comparable.
A pegadinha é que test2 implementa Comparator ao invés de Comparable. Ocorre ClassCastException porquê internamente o TreeSet tenta atribuir seu objeto a uma referência do tipo Comparable.
Para funcionar, basta trocar a linha
por
Assim seu TreeSet possui um Comparador e não precisa mais que os elementos implementem Comparable.
PS: Eu nunca teria acertado essa, só pesquisei porque você já tinha colocado a resposta
R
raphaelrabadan
gomesrod:
Olá,
Como você construiu o TreeSet usando o construtor sem argumentos, todos os objetos inseridos devem ser comparáveis entre si através da implementação da interface Comparable.
A pegadinha é que test2 implementa Comparator ao invés de Comparable. Ocorre ClassCastException porquê internamente o TreeSet tenta atribuir seu objeto a uma referência do tipo Comparable.
Para funcionar, basta trocar a linha
por
Assim seu TreeSet possui um Comparador e não precisa mais que os elementos implementem Comparable.
PS: Eu nunca teria acertado essa, só pesquisei porque você já tinha colocado a resposta :)
Inquisition é o rei das pegadinhas
Apesar que dizem que ele fica um pouco longe do que a prova pede, mas eu gostei bastante.