Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/11/2013, 11:05
renacuaja
 
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.