Dúvida de Sintaxe!

3 respostas
B

Olá,
Pessoal estava dando uma olhada no código que vem na revista Java Magazine, e me deparei com esse:

...

public class GerenciadorTarefas{
          List<Tarefa> terefas = new ArrayList<Tarefa>();
...

Esse “Tarefa”, pelo que entendi é um objeto burro chamado aqui de VO.

Alguém pode me explicar o que é esse código??? Sendo mais claro o que é esse

List<Tarefa> terefas = new ArrayList<Tarefa>();

3 Respostas

jack_ganzha

Isso indica que a lista terefas é tipada e só pode receber objetos que sejam do tipo Tarefa. Ou seja, se vc tentar fazer algo assim:

public class GerenciadorTarefas{
           List<Tarefa> terefas = new ArrayList<Tarefa>();

           String naoEhDoTipoTarefa = "Tadã! Eu sou uma String";
           tarefas.add(naoEhDoTipoTarefa); 
 ...

A linha:

tarefas.add(naoEhDoTipoTarefa);

Não irá compilar porque vc tentou adicionar uma String a uma lista que só pode aceitar objetos da classe Tarefa. Procure no forum sobre generics.

valeuz…

andre_a_s

É um recurso do Java 5
Isso se chama Generics.
Com os generics vc pode “tipar” seus objetos. Nesse caso está explicito que o objeto terefas será uma List de objetos do tipo Tarefa.
Isso evita os famosos castings q se fazia antes.

Ao invéz de se fazer:

Tarefa t = (Tarefa)tarefas.get(i);

Agora podemos fazer:

Tarefa t = tarefas.get(i);
B

Agora entendi…vlw pessoal

Criado 8 de agosto de 2005
Ultima resposta 8 de ago. de 2005
Respostas 3
Participantes 3