|
Indice | Temas Recientes | Quién Está en LÃnea | Lista de Usuarios | Mi Perfil | Búsqueda | Ayuda |
![]() |
mvnForum » Listar todos los foros » Foro: Curso PLJ » Tema: Sesion 10.Conversión a Array |
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 |
|
![]() Extranjero
|
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. ![]() ¿De qué modo se puede hacer la conversión? Muchas gracias. |
||
|
![]() Miembro
|
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. |
||
|
[Versión imprimible] [Publicar nuevo tema] |