Quiero ejecutar un método al cual le paso 2 objetos(en este caso 2 instancias de clases hijas en una jerarquía de herencia) como parámetros, pero se da el caso que uno de los dos no se creó por no ser necesario y salta un NullPointerException
, como puedo resolver esto? Pongo un ejemplo:
Tengo una base de taxis a la cual llegan autos tanto de gasolina como de diesel y llevo un control de su entrada, luego quiero extraer la matrícula de un grupo que cumple cierto requisito, pero tengo solo autos de diesel o solo de gasolina. Luego al querer mostrar el resultado de mi método base.colorxTag(gaso,oil);
al solo tener un tipo creado salta el NullPointerException
.
Como hago para si no existe uno de los dos tipos identificarlo y crearlo antes de llegar al método en cuestión?
Gracias de antemano y disculpen tanta palabrería y poco código, saludos.
Este es el método real completo
public ArrayList<String> DriversxTag(TGasoline pGaso, TOil pOil) {
float max = pGaso.getCantKmTraveled().sum(0,0,0,6);
IDList = new ArrayList<String>();
for(int i = 0 ; i< pGaso.aCiDrivers.size();i++) {
if(pGaso.getCantKmTraveled().sum(i,0,i,6)>max)
max=pGaso.getCantKmTraveled().sum(i,0,i,6);
}
for(int j=0; j< pOil.aCiDrivers.size();j++) {
if(pOil.getCantKmTraveled().sum(j,0,j,6)>max)
max=pOil.getCantKmTraveled().sum(j,0,j,6);
}
for(int i=0; i<pGaso.aCiDrivers.size(); i++){
if(pGaso.getCantKmTraveled().sum(i,0,i,6)==max)
IDList.add(pGaso.aCiDrivers.get(i));
}
for(int j=0; j<pOil.aCiDrivers.size(); j++){
if(pOil.getCantKmTraveled().sum(j,0,j,6)==max)
IDList.add(pOil.aCiDrivers.get(j));
}
return IDList;
}