Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida ex.18 do capítulo Collections Framework - A resposta correta não compila no Eclipse

Nesse exercício a resposta dada como correta é:

public static void main(String[] args) { TreeSet conjunto = new TreeSet<>(); for (int i = 1; i <= 1000; i++) { conjunto.add(i); }

for (Integer i : conjunto.descendingSet()) { System.out.print(i + " "); } } }

Porém quando copio e colo no eclipse e tendo rodar o programa, surge o seguinte erro:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: The type TreeSet is not generic; it cannot be parameterized with arguments The type TreeSet is not generic; it cannot be parameterized with arguments <>

at testes.TreeSet.main(TreeSet.java:6)

Como devo prosseguir??

3 respostas

Renan, Falta declarar o tipo de dado que o TreeSet deve armazenar. Verifiquei aqui o código que desenvolvi quando fiz esse curso, e ele está correto, sendo que o Treeset era declarado assim: TreeSet Numeros = new TreeSet(); Não esqueça de incluir a cláusula Import com o TreeSet: import java.util.TreeSet;

solução!

Mudei o código conforme vc disse e deu certo! Valeu ai Sandro!

import java.util.TreeSet;

public class teste {

public static void main(String[] args) { TreeSet tree = new TreeSet(); for (int i = 1; i <= 1000; i++) { tree.add(i); }

for (Integer i : tree.descendingSet()) { System.out.print(i + " "); } } }

Que bom que funcionou. Agora percebi que o editor do site da Alura removeu a declaração de tipo Integer entre os sinais de "menor que" e "maior que". Acho que deve ser algum bug no site... Por favor, marque como resposta para o tópico ficar como resolvido no fórum. Abraço.