Extraer Objeto de un List con clases diferentes
Buen dia con todos, tengo una problema que me esta quitando mucho tiempo y estoy seguro que muchos aqui me lo van a poder solucionar, tengo un List
Adjunto | Tamaño |
---|---|
extraerObj.png | 28.46 KB |
- Inicie sesión o regístrese para enviar comentarios
instanceof
Pues debes hacer un cast, pero primero un instanceof para estar seguro. Tu item realmente es un arreglo de objetos, no un objeto.
for (Object item : lista) {
if (item instanceof Object[]) {
Object[] arr = (Object[])item;
Ley ley = (Ley)arr[0];
LeyCongresista lc = (LeyCongresista)arr[1];
} else {
???
}
}
Este es un problema bastante común en Java y es de las cosas que Ceylon resuelve con el uso de tipos unión, tipado fluido, y tuplas. En Ceylon tu código se podría ver así:
for (item in lista) { //cada item es una tupla
value ley = item[0]; //El tipo Ley ya está codificado en la tupla
value congre = item[1];
}
Gracias ezamudio
Muchisimas gracias ezamudio, lei algunas soluciones que tu habias dado y esperaba que me ayudes tambien, caiste del cielo, muchos exitos para ti.
Saludos,
anpuma
Ampliando la respuesta de
Ampliando la respuesta de ezamudio: Si te devuelve los objetos siempre en el mismo orden, puedes simplemente extraerlo con el índice 0.
for( Object[] arreglo : leyDao.findConsulta(consulta)) {
leyes.add( arreglo[0]);
}