[Resolvido]Array de Object

Galera estou com problemas para acessar elementos de um array Object quando insiro no array objetos de outro tipo, segue o código:


class Dog {
	public String nome;
	Dog(String nome){
		this.nome = nome;
	}
}

public class ConverterArrayList {

    public static void main(String[] args) {
		List<Dog> listaDogs = new ArrayList<Dog>();
		Dog dg = new Dog("dog");
		Dog dg1 = new Dog("dog1");
		Dog dg2 = new Dog("dog2");

		Object[] teste = new Dog[2];
		teste[0] = dg;
		teste[1] = dg1;

		System.out.println(teste[0].nome);

Quando tento dar o println ocorre erro quando tento acessar o atributo, tentei fazer o casting tb (Dog) mas nao rola…

Como você tentou fazer o cast?

Assim funciona.System.out.println(((Dog)teste[0]).nome); No seu código não entendi o porque o ArrayList, mas acredito que o código não está completo.

Outro detalhe, seu código é apenas para teste certo? pois não é uma boa pratica deixar atributos como public, caso não saiba porque, pesquise no google sobre encapsulamento.

Att

Amigo, tentei fazer o cast exatamente como você disse…ah o ArrayList e o encapsulamento desconsidere, eu sei do que se tratam, estou somente testando :slight_smile:
Saca só o erro:

cannot find symbol
  symbol:   variable nome
  location: class java.lang.Object

Não encontra a variável nome na classe Object, obviamente nao vai encontrar pois nome faz parte de Dog…

Post como você está tentando, pois o cast que mostrei está funcionando.

Att

Faltou o parenteses mais externo, que desatenção, hehe. Obrigado.