03/11/2013, 11:05
|
| | Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 16 años, 5 meses Puntos: 0 | |
Respuesta: Planteamiento con Generics Java Se me resuelven algunas dudas, aunque la parte de los set pues no la puedo utilizar porque depende del valor del campo y del campo que sea entro en un set u otro.
En resumen he hecho algo asi:
private List<T> recuperarListados (........., Class clase){
//creo un objeto objetoListado correspondiente a su clase
T objetoListado = (T) Class.forName(clase.getName()).newInstance();
//instancio segun el tipo de operacion
List <objetoListado> listado = new ArrayList<objetoListado>();
HashMap<Integer, objetoListado> mapaObjetosListados = new HashMap<Integer, objetoListado>;
//ahora hay dos for para sacar los campos multiples de cada columna
//y su valor, y luego llamo al metodo que mapea los campos
for(...){
if (clase instanceof ObjetoA){
mapearCamposDeA(mapaObjetosListados, campo, valor);
}else if( clase instanceof ObjetoB){
mapearCamposDeB(mapaObjetosListados, campo, valor);
}//etc.
}//termina el for
listado.addAll(mapaOperaciones.values());
return listado;
}
A la hora de llamarlo pues tal como dijiste:
List <ObjetoA> miListado = recuperarListados(...., ObjetoA);
Y como apenas he usado génericos, me gustaría saber porqué la T que te puse en rojo en List <T> cuando lo programo en eclipse me dice que no conoce el tipo T y lo señala en rojo (y lo entiendo), y me pone algo de esta forma <T> List <T> , que segun tengo entendido es para hacer métodos con parámetros genéricos, pero no es lo que quiero, tan solo que me devuelva un listado genérico List <T>, ¿qué haceis cuando ocurre esto?
Muchas gracias. |