Inicializar Um vetor de string

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 :cry:

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