Fala galera:
Alguém sabe se tem como fazer um casting de String[] para ArrayList ?
Situação:
Tenho um Objeto que possui um atributo:
private ArrayList<String> competenciasTi;
No meu Form tenho esse MultiploSelect:
<SELECT id=selecionadosReqTi multiple size=5 name=selecionadosReqTi[]>
<% for (String
sRequisitosTi : curriculo.getListaRequisitosTi())
{ %>
<option value=<% out.print(sRequisitosTi); %>
><% out.print(sRequisitosTi); %></option>
<% }
%></SELECT>
Para recuperar os valores setados no form faço o seguinte:
String[] competenciasTi = null;
competenciasTi = parametros.get("selecionadosReqTi[]");
O problema:
para setar os dados no obj:
O eclipse me dá um aviso que não posso aplicar para um ArrauList um tipo String[]
Grato a todos;;;
Infelizmente não há como fazer um cast, você terá de montar o vetor manualmente:
String[] vetor = new String[arrayList.size()];
int i = 0;
for (String item : arrayList) {
vetor[i++] = item;
}
Vc não pode fazer cast entre coisas que são “diferentes”. String[] é um array ArrayList é uma lista.
Vc pode criar um List a partir de um array.
List<String> lista = Arrays.asList( seuArrayDeStringsAqui );
[]´s
Foi mals…
Valeu pela orientação galera…
Vou ver se consigo fazer com as dicas de vocês…
Grande abraço,…
Lembrando que a especificação diz:
[quote]Returns a fixed-size list backed by the specified array. (Changes to the returned list “write through” to the array.) This method acts as bridge between array-based and collection-based APIs, in combination with Collection.toArray. The returned list is serializable and implements RandomAccess.
This method also provides a convenient way to create a fixed-size list initialized to contain several elements:
List stooges = Arrays.asList("Larry", "Moe", "Curly");
[/quote]
Opa, continuo com problemas :oops:
Com base no auxilio de voces fiz o seguinte:
List<String> lista2 = Arrays.asList( parametros.get("selecionadosReqTi[]") );
Tenho o seguinte erro:
The type List is not generic; it cannot be parameterized with arguments
Acho que você importou java.awt.List, mas o correto é importar java.util.List. OK?
Importei o java.util.List.
Não tem jeito… :oops: :oops:
List<String> lista2 = Arrays.asList ( parametros.get("selecionadosReqTi[]")[0] );
for (int i = 0; i < lista2.size(); i++){
//Seto 09 itens no form.
//Porém ele só itera uma vez nesse FOR
//Minha lógica esta errada?
//Não consigo adicionar os itens para dentro da lista2..
System.out.println("Aqui");
}
//Caso consiga
// depois para setar o atributo do objeto do tipo:
ArrayList<String> competenciasTi;
//Faria um cast de list to array?
curriculo.setCompetenciasTi((ArrayList<String>) lista2);
Valeu mesmo galera…
Consegui resolver da seguinte forma
ArrayList<String> competenciasTi = new ArrayList<String>();
String[] sItensTi = null;
sItensTi = parametros.get("selecionadosReqTi[]");
for (int i = 0; i < sItensTi.length; i++) {
competenciasTi.add(sItensTi[i].toString());
}
curriculo.setCompetenciasTi(competenciasTi);
De qualquer forma agradeço a todos…
Resolvido