View Full Version : Problema em JAVA com ArrayList


whizzfrapp
25-04-2007, 23:12
Boa noite.

Surgiu-me um pequeno problema enquanto estava a fazer um programa em Java.

Gostava de saber se é possível aceder a um atributo específico de um Objecto que se encontra numa ArrayList.

Do género:

ArrayList com objectos do tipo Livro(altura,espessura),

como é que acedo ao camp "espessura"?

Se fizer (por exemplo) array.get(i) dentro de um ciclo for, obtenho o objecto e não a espessura. Como é que faço para obter a espessura?


Desde já, o meu obrigado!


Cump's

SoundSurfer
25-04-2007, 23:24
Tens de fazer o chamado "Cast"...

Livro liv = (Livro) array.get(i);
liv.espessura

OU

((Livro) array.get(i)).espessura

MadOnion
25-04-2007, 23:45
Se o atributo espessura for privado, não te esqueças que o cliente não tem acesso a ele. Convém teres um getter que te devolva a espessura.

A tua classe Livro deve ter um metodo do tipo:

public int getEspessura() {
return espessura;


Depois na tua lista de livros:

List<Livro> listaLivros = new ArrayList<Livro>();


Depois é usar a solução do SoundSurfer, ou:

int espessura = listaLivros.get(i).getEspessura();


ou


Livro book = lista.get(i);
int espessura = book.getEspessura();


Os casts aqui não são necessários, uma vez que é tudo do mesmo tipo.

whizzfrapp
25-04-2007, 23:47
Obrigadíssimo! Estou aqui num raio dum projecto que tenho que entregar até 6a e nunca mais o acabo :|

Abraço!