Hola
andrea55, como va?
A ver vamos por parte, espero poder aclararte algo.
El ArrayList contiene objetos del tipo
Object, ahi podes meter lo que quieras, la cuestion es estoy trayendo datos desde la base y es ahi donde yo se que tipo son, por ejemplo tarifaTaxi o tarifaTren, (si bien no es buena politica usar sentencias condicionales " if", en Objetos a veces no queda otra alternativa que usarlas).
Entonces lo que podes hacer es, a medida que vas recuparando datos desde la base:
Código:
if(elDatoDeLaBase==tarifaTaxi){
TipoTarifa tT=new TipoTarifaTaxi();
tT.setValoruno...;
tT.setValordos...;
.
.
.
ArrayList.add(tT) //aca va el nombre del ArrayList!!!
}
if(elDatoDeLaBase==tarifaTren){
TipoTarifa tT=new TipoTarifaTaxi();
tT.setValoruno...;
tT.setValordos...;
.
.
.
ArrayList.add(tT) //aca va el nombre del ArrayList!!!
}
y asi con cada tipo, fijate que podrias hacer que ciartas cosas sean mas genericas
y no repetir tanto codigo.
Esto de poder guardar cualquier tipo de objeto dentro del ArrayList, es gracias a lo que se denomina "
Polimorfismo".
Por otro lado el hecho de sacar objetos de un contenedor de object como ArrayList es posible debido a la caracteristica denominada "BindingDinamico", el cual vincula objetos en tiempo de ejecucion.
Lo que si te recominedo, en que tus clases inplementen la interface "
Comparable", la cual te exige que implementes el metodo
compareTo(Object), ya que de esta es una manera correcta de comparar objetos en una logica de negocios orientada a objetos.
Bueno espero ayudarte!!! Saludos!