Boa noite.
Estou com erro no trecho de código
42 for (Object oRef : lista) {
43 System.out.println(oRef);
44 }
da classe "Teste", mensagem é referente ao nome "lista" da linha 43. A ajuda do eclipse pede para eu renomear o nome lista, não entendi.
Outro detalhe está no trecho de código
35 for (int i = 0; i < lista.size(); i++) {
36 Object oRef = (Object) lista.get(i);
37 System.out.println(oRef);
38 }
a ajuda pede para eu fazer um Casting na linha 36, se não fizer da erro.
Abaixo da mensagem de erro seguem as classes "GuardadorDeReferencias", "TesteGuardadorDeReferencias" e "Teste".
erro: Type mismatch: cannot convert from element type java.lang.Object to br.com.bytebank.banco.modelo.Object
Classe GuardadorDeReferencias
package br.com.bytebank.banco.modelo;
public class GuardadorDeReferencias {
// variable
private Object[] referencias;
private int posicaoLivre;
// constructor
public GuardadorDeReferencias() {
this.referencias = new Object[10];
this.posicaoLivre = 0;
}
//methods
public void adiciona(Object ref) {
this.referencias[this.posicaoLivre] = ref;
this.posicaoLivre++;
}
public int getQuantidadeDeElementos() {
return this.posicaoLivre;
}
public Object getReferencia(int pos) {
return this.referencias[pos];
}
}
Classe TesteGuardadorDeReferencias
package br.com.bytebank.banco.test;
import br.com.bytebank.banco.modelo.Object;
import br.com.bytebank.banco.modelo.ContaCorrente;
import br.com.bytebank.banco.modelo.GuardadorDeContas;
public class TesteGuardadorReferencias {
public static void main(String[] args) {
GuardadorDeContas guardador = new GuardadorDeContas();
Object cc = new ContaCorrente(22, 11);
guardador.adiciona(cc);
Object cc2 = new ContaCorrente(22, 22);
guardador.adiciona(cc2);
int tamanho = guardador.getQuantidadeDeElementos();
System.out.println("Quantidade de elementos: " + tamanho + " elementos.");
Object ref = guardador.getReferencia(1);
System.out.println("Número da conta: " + ref.getNumero());
}
}
Classe Teste
package br.com.bytebank.banco.test.util;
import java.util.ArrayList;
import br.com.bytebank.banco.modelo.Object;
import br.com.bytebank.banco.modelo.ContaCorrente;
public class Teste {
public static void main(String[] args) {
ArrayList lista = new ArrayList();
Object cc1 = new ContaCorrente(22, 11);
lista.add(cc1);
Object cc2 = new ContaCorrente(22, 22);
lista.add(cc2);
Object cc3 = new ContaCorrente(176, 211);
lista.add(cc3);
Object cc4 = new ContaCorrente(123, 322);
lista.add(cc4);
System.out.println("Tamanho " + lista.size());
Object ref = (Object) lista.get(0);
System.out.println("Número conta " + ref.getNumero());
lista.remove(0);
System.out.println("Tamanho " + lista.size());
for (int i = 0; i < lista.size(); i++) {
Object oRef = (Object) lista.get(i);
System.out.println(oRef);
}
System.out.println("=======================");
for (Object oRef : lista) {
System.out.println(oRef);
}
}
}
Fico no aguardo.