Tava olhando a documentação da classe Iterator, e vi isso:
“public interface Iterator<E>
An iterator over a collection. Iterator takes …”
oque significa esse <E> ?
Tava olhando a documentação da classe Iterator, e vi isso:
“public interface Iterator<E>
An iterator over a collection. Iterator takes …”
oque significa esse <E> ?
<E> tipo de objeto que vai estar na sua Collection
Antes voce fazia:
LinkedList lista = new LinkedList();
//…
Iterator it = lista.iterator();
MeuObjeto var = (MeuObjeto)it.next();
Agora você faz:
LinkedList<MeuObjeto> lista = new LinkedList();
//…
Iterator<MeuObjeto> it = lista.iterator();
MeuObjeto var = it.next();
Esta atualização nas classes do java.util serve para o programador não precisar usar casts durante a manipulação das estruturas de dados, pois agora o compilador já fica sabendo desde a criacao da estrutura qual o tipo de objeto que o programa vai manipular.
()
Esse <E> significa que a classe é genérica, de acordo as especificações feitas no Tiger. Em suma, quer dizer que você pode definir que tipos (classes) de elementos seu Iterator vai encontrar. Exemplos:
// aqui, você está criando um HashSet de Components. Você só pode
// adicionar objetos que são Components à coleção, ou será detectado um
// erro em tempo de compilação.
Set<Component> set = new HashSet<Component>();
set.add(new JFrame()); // JFrame é um Component, funciona tranqüilo
set.add("eu sou um Component"); // Erro: um String não é um Component
// E aqui você pegou um objeto Iterator que itera apenas numa lista de
// Components
Iterator<Component> iterator = set.iterator();
Dê uma lida [size=“18”]aqui[/size] para maiores informações.
Sem mais,