Sergio,

  Durante muito tempo, resolvi este tipo de problema dessa forma:

   File[] arqs= new File[ vetor.size()];
   for( int i=0; i < vetor.size(); i++)
      arqs[i]= (File) vetor.elementAt( i);

  Entretanto, descobrir uma forma (disponível na API da classe Vector) muito mais eficiente de fazer isso.

  O array retornado pelo método toArray() é criado como um array de Object[] e você não pode mudar seu tipo.
  Mas, existem uma variação do método toArray(), em que vc fornece a ele um array de comprimento 0 do tipo que gostaria.
Então, o array retornado será criado com o mesmo tipo do array passado como parâmetro, e você poderá fazer a conversão
explícita de tipo. Então o código fica assim:

  File[]  arqs= ( File[] ) vetor.toArray( new File[0] );

--
______________________________
Leonardo Camargos de Almeida
  [EMAIL PROTECTED]
     Programador Java

Sistema Renavem de Serviços
  www.renavem.com.br
 

Sergio Mendonça wrote:

Galera, tenho uma Vector com objetos do tipo File nelee gostaria de transforma-lo num array de File.. Tentei desta forma mas dah um ClassCastException:File arqs[] = (File [])vetor.toArray();

Responder a