Gente,
Estou com dificuldade no código abaixo:
1 Iterator ite = rendHistGNO.iterator();
2 int j=0;
3
4 List lista1 = new List();
5 while(ite.hasNext()){
6
7 Object capturaArray = ite.next();
8
9 lista1.add(String.valueOf(capturaArray[1]));
10
11 System.out.println(lista1);
12 j++;
13 }
onde:
rendHistGNO é uma ArrayList de Strings
Na linha 10 me retorna que foi encontrado um object e o requerido é uma array.
Como faço para carregar somente um campo deste Arraylist para uma List (carregar um elemento List de um determinado campo de cada linha da ArrayList)?
Desde já,
Obrigado!
Edilson Cavalieri
Provavelmente você deveria ter feito isto:
Iterator ite = rendHistGNO.iterator();
int j=0;
List lista1 = new ArrayList(); // você não pode instanciar um List
while(ite.hasNext()){
// você disse que rendHistGNO é um List de Strings...
String captura = (String) ite.next();
lista1.add(captura);
j++;
}
System.out.println(lista1);
Na linha:
List lista1 = new ArrayList(); // você não pode instanciar um List
não posso instanciar como List. Quando instancio:
ArrayList lista1 = new ArrayList();
vem um erro de runtime:
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: [Ljava.lang.String;
at cpa.mrplRendimentos.jButton1002ActionPerformed(mrplRendimentos.java:970)
na linha:
String captura = (String) ite.next();
rendHistGNO é uma “ArrayList”
Grato,
Edilson Cavalieri
rendHistGNO deve ser um List de String[], não um List de String, para dar o tal erro. Então deve ser algo como:
Iterator ite = rendHistGNO.iterator();
int j=0;
List lista1 = new ArrayList(); // você não pode instanciar um List, apenas um ArrayList
while(ite.hasNext()){
// você disse que rendHistGNO é um List de Strings...
String[] capturaArray = (String[]) ite.next();
if (capturaArray.length >= 2)
lista1.add(capturaArray[1]); // Estou supondo que você quer pegar o segundo elemento do array "capturaArray"
j++;
}
System.out.println(lista1);