Oi pessoal,
To tendando criar uma vetor de string para retornar em uma funcçaõ, só que eu não sei o tamanho exato dele, por isso o inicializei com null só que quando vou dar um new ou tento atribuir o valor direto a um campo do vetor dá NullPointerError.
Alguem pode me ajudar com isso??? :roll:
Faz algo assim
[code]
public String[] retornaArrayString(String valor){
String[] string = new String[valor.length];
return string;
}
[/code]
O negocio é que eu não sei o tamanho do vetor
Este é o famoso problema do array (que não dá para redimensionar sem ter de copiar e fazer um monte de cálculos). Normalmente, se puder, trabalhe com List, e converta em array se for o caso (se puder, nem use arrays)
Vamos dizer que você tem um List de Strings, criado por exemplo ao percorrer um ResultSet:
List lista = new ArrayList();
while (rs.next()) {
lista.add (rs.getString ("nome"));
}
Para converter isso em um array, use:
String[] strings = (String[]) lista.toArray (new String[0]);
ou então
String[] strings = (String[]) lista.toArray (new String[lista.size()]);
você também pode usar a o Vector.
Vector a = new Vector();
//metodo add() recupera dados
a.add(String "oi");
a.add(String "tchau");
//metodo get() recupera dados
String adeus = (String) a.get(1);
sysout(adeus);
Olá, tentei usar esse ArrayList como proposto no tópico mas naum funcou, alguem sabe porq?
Array:
[code]class Blablabla {
List arquivos = new ArrayList();
public Blablabla() {
}
}[/code]
erro:
[quote] List cannot be resolved (or is not a valid type) for the field SearchFiles.arquivos
ArrayList cannot be resolved or is not a type[/quote]
Talvez vocÊ esqueceu de importar o List e o ArrayList!
coloque as declarações
import java.util.List;
import java.util.ArrayList;
Suspeitei desde o princípio
mas bem que o java podia dizer isso neh, ele dah uma mensagem que faz entender que o import está certo.
ja q n sabe o tamanho do array vc deve usar o Vector, ArrayList ou LinkedList. Mas como já disseram tb vc deverá importar o seguinte pacote: import java.util.*;
Pois é, eu tinha esquecido deste pequenho detalhe, q bosta heim
vou postar o código aqui apenas para quem estive acompanhando e encerrar esse assunto de Array e ArrayList:
[code]//Importar específicamente ou apenas: import java.util.*;
import java.util.List;
import java.util.ArrayList;
public class ArrayTest {
public static void main(String[] args) {
//Declaração
List lista = new ArrayList();
String[] listaStr;
//Adicionando
lista.add("campo 1");
lista.add("campo 2");
lista.add("campo 3");
//Tamanho do ArrayList. Retorno: 3
System.out.println("--- Imprimindo Tamanho do ArrayList ---");
System.out.println(lista.size());
//Imprimindo todo o ArrayList
System.out.println("--- Imprimindo ArrayList ---");
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i));
}
//Convertendo de ArrayList para Array(Matriz)
listaStr = (String[]) lista.toArray (new String[0]);
//Imprimindo toda a matriz
System.out.println("--- Imprimindo Array ---");
for (int i = 0; i < listaStr.length; i++) {
System.out.println(listaStr[i]);
}
}
}[/code]
Retorno
[quote]— Imprimindo Tamanho do ArrayList —
3
— Imprimindo ArrayList —
campo 1
campo 2
campo 3
— Imprimindo Array —
campo 1
campo 2
campo 3[/quote]
Quem não tiver contente que vá toma no google