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

Lista / Objetos

Uma lista vai sempre retornar um objeto? se sim por quê ?

4 respostas
solução!

Boa noite Henry.

Sim uma lista sempre retorna um Object, pois um List trabalha sempre vai armazenar objetos, que são instancias de classes e todas as classes herdam de Object, tanto as nativas do Java quanto as criadas pelo programador, exemplo:

ArrayList<Aluno> lista = new ArrayList();
ArrayList<String> lista = new ArrayList();
ArrayList<Integer> lista = new ArrayList();
ArrayList<BigDecimal> lista = new ArrayList();
ArrayList<Cachorro> lista = new ArrayList();

todos as Classes herdam de Object, mesmo as classes nativas de java, quando vc tem um relacionamento de herança "extends" dizemos q a classe q a herdou é a classe herdada, exemplo:

//funcionário é uma pessoa
Public class Funcionario extends Pessoa {}

//herança implicita de Object
Public class Automovel {}

//carro é um automóvel, que é um Object por herança implicita, logo Carro alem de ser um automóvel tb é um Object
Public class Carro extends Automovel{}

//erança implicita de Object
Public class Produto{}

porem a herança de Object é implícita, assim como o construtor padrão das classes no Java vc não precisa declara-lo.

O List aceita apenas Objetos, por isso não aceita os tipos primitivo, logo não é possível declarar o List com tipos primitivos, o código a baixo não compila por exemplo:

ArrayList<int> lista = new ArrayList();

T++

Boa noite Allan! Entendi, porém uma outra dúvida surgiu, quando faço um for

for (Object c : lista) {
    System.out.println(c);
}

Compila normalmente mas se tento substituir Object por Conta ( que também é um Object) não compila mesmo que tente fazer um cast de lista para Conta Por que???

Boa noite, Henry. Nesse caso é uma sintaxe especial do for para percorrer listas, por isso, ela funciona dessa forma que você escreveu.

Obrigado Karen, já consegui resolver faltava colocar os Generics na lista.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software