mvnForum Homepage Bienvenido domingo  |  Terminar sesión   
  Búsqueda  
  Indice |  Temas Recientes |  Quién Está en Línea |  Lista de Usuarios |  Mi Perfil |  Búsqueda |  Ayuda


Ir a »
Total de mensajes en este tema: 2 [Eliminar este Tema] [Mover este Tema]
[Ańadir a Mis Favoritos] [Ańadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 45 veces y tiene 1 respuesta Tema Siguiente
Masculino amr
Extranjero



Ingresó: Jul 1, 2004
Mensajes: 13
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   confused   Sesion 10.Conversión a Array Responder a este mensaje
Responder citando
[Eliminar este Tema]

A la hora de convertir nuestro ArrayList "figuras" a array he consultado la API y aparece la función "ToArray", pero ésta tiene el inconveniente de que el tipo de datos que devuelve es intrínseco, por lo que no corresponde con el que necesitamos que es de tipo Figura. Mirando por la red he visto que hay otra función "typeof(type)", que se dedica justamente a convertir al tipo de datos definido por el programador, de tal modo que la llamada quedaría de este modo:

"figuras.ToArray(typeof(Figura))"

Pero esto tampoco me funciona porque no reconoce el tipo.confused
¿De qué modo se puede hacer la conversión?

Muchas gracias.
[Jul 16, 2004 12:59:52 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



Ingresó: Feb 1, 2004
Mensajes: 63
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10.Conversión a Array Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Hola.

Prueba con esto:

Por un lado tendrás la lista

ArrayList lista = new ArrayList();
...

Para crear un array de tipo Figura[] a partir de ella, haces:

Figura[] f = (Figura[])(lista.toArray(new Figura[0]));

Y listo.

Lo que has hecho es llamar al método "toArray" que comentabas, pasándole como parámetro un array de tamaño 0 del mismo tipo que el que buscas. Si miras la API para este método, verás que lo que hace el método es rellenar el array que le pasas si es suficientemente grande, o crear otro del mismo tipo si no le cabe. Como en un array de tamaño 0 no le va a caber nada, creará un array del mismo tipo nuevo, con el tamaño suficiente, lo rellenará con la lista, y lo devolverá. El método devuelve un formato genérico de array, es decir un Object[], así que sólo te falta hacer la conversión cast que de lo que devuelva a (Figura[]) y listo.
[Jul 16, 2004 1:20:34 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]