🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #17967

Re: Ayuda! vector.toArray()

#17967
From: Joe Doe
Date: Sun, 08 Oct 2000 00:00
46 lines
1609 bytes
On Thu, 05 Oct 2000 08:46:16 GMT, "Santiago C."
<informatica@ibcentre.es> wrote:

>  hola,
>alguien sabe porque este codigo compila pero en tiempo de ejecuci�n da la
>excepci�n ClasCastException ?
>
>Vector v = new Vector();
>
>    v.addElement((String)"reewr");
>    v.addElement((String)"reewr");
>    v.addElement((String)"reewr");
>
>    String[]s = (String[])v.toArray();
>
>muchas gracias,
>Santiago C.
>
>

Cuando haces la llamada al m�todo toArray sin par�metros, dentro del
m�todo se reserva un array de tipo Object[], se rellena y se devuelve.
En esta situaci�n podr�s hacer un cast a String de los elementos, que
efectivamente son cadenas, pero no del array a String[] porque es
realmente de tipo Object[].

Seg�n la documentaci�n del API lo que deber�as hacer es algo as�:

...
String[] holder = new String [v.size()];
...
v.toArray (holder); 
... 

o

...
String[] holder;
...
holder = (String[]) v.toArray (new String [0]); 
...

De esta forma estar�s especificando el tipo del array que necesitas
y puedes hacer el cast a String[] porque ese es su tipo real.

Un saludo y espero que esto sea de ayuda.
Technical Details
Message-ID: <39e09e33.4616777@news.madritel.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <sdXC5.30408$893.220791@telenews.teleline.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,8c1e966e17d35aae
X-Google-Attributes: gid1116f3,public
From: nobody@nowhere.com (Joe Doe)
Subject: Re: Ayuda! vector.toArray()
Date: 2000/10/08
Message-ID: <39e09e33.4616777@news.madritel.es>
X-Deja-AN: 678991905
References: <sdXC5.30408$893.220791@telenews.teleline.es>
Organization: -
Reply-To: nobody@nowhere.com
Newsgroups: es.comp.lenguajes.java