Erro ao popular Array de strings

Salve a todos!!!

Não sei o que pode estar acontecendo… Estou criando um gráfico com ChartDirector em um servlet e tem métodos da API que só aceitam array de strings ou double.
Estou instanciando meus arrays para gerar os gráficos mas quando tento popular um array ele encerra a execução como fosse um erro.

[code] double dtDP[] = {};
double dtAcumulado[] = {};
double dtQuantTotal[] = {};
double dtPorcentagem[] = {};
String meses[] = new String[12];

        Calendar data = Calendar.getInstance();
        int mesAtual = data.get(Calendar.MONTH) + 1;
        int quantColabDP = 0;
        for (int mes = 1; mes <= 12; mes++) {
            if (mes <= mesAtual) {
                quantColabDP = daoLap.QuantColaboradoresDPmes(mes, listaColab);
            } else {
                quantColabDP = 0;
            }
            meses[mes] = funcao.NomeMes(mes);
            dtDP[mes] = quantColabDP;//Dupla Participação
            acumulado += quantColabDP;
            dtAcumulado[mes] = acumulado;
            percent = ((double) acumulado / quantColab) * 100;
            dtQuantTotal[mes] = quantColab;
            dtPorcentagem[mes] = percent;
            quantColabDP = 0;
        }[/code]

Se eu monto um ArrayList(), depois eu não consigo convertê-lo para String[]. Alguem sabe como???

Já fiz testes com os resultados e estão funcionando Ok…

Alguém pode me ajudar por favor!!!
GRATO.

que tal?

     String[] arrayString = new String[12];
     seuArrayList.toArray( arrayString );

Pow bacana… Com o de String funcionou, mas os com os valores double não.

ArrayList<Double> dtDP = new ArrayList<Double>();
ArrayList<Double> dtAcumulado = new ArrayList<Double>();

double[] aDP = new double[12];
dtDP.toArray(aDP);

double[] aAcumulado = new double[12];
dtAcumulado.toArray(aAcumulado);

e aí??? pode me ajudar novamente???
Valew mesmo…

O problema é que na interface esta definido toArray( Object array[] ), e como String herda de Object tudo blz, mas o mesmo nao acontece com tipos primitivos.

Se vc trocar o array de primitivos pra um wrapper - Double[] - deve funcionar.

Camarada!!!

Por que eu não consigo implementar o códgio?

for (int mes = 1; mes <= 12; mes++) {
    Double[] acumulado = new Double[12];
    acumulado[mes] = valor;
}

[quote=by_stoco]Camarada!!!

Por que eu não consigo implementar o códgio?

for (int mes = 1; mes <= 12; mes++) { Double[] acumulado = new Double[12]; acumulado[mes] = valor; } [/quote]

Essa sua variável valor é de q tipo?

CORRIGINDO

Double[] acumulado = new Double[12]; for (int mes = 1; mes <= 12; mes++) { acumulado[mes] = valor; }

Seu codigo tem um erro que provavelmente irá lancar uma ArrayIndexOfBoundsException.

Vc esta iterando com elementos de 1 a 12 no array. Entretanto, arrays em Java são 0-based.
Se vc declarou seu array com 12 elementos, as posições vao de 0 a 11.
Qdo o laço for atinge a posição acumulado[12] dá pau.

Altere a condição do laço pra ( int mes = 0; mes < acumulado.length; mes++ ) // length ja te retorna o tamanho do array

Puxa vida cara!
Q erro primário o meu…
Tudo bem, foi falta de atenção minha!
Brigadão