0

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;                           
    }
  • Podría colocar un fragmento del código en cuestión?, sería favorable ya que la forma puede variar dependiendo de la ocasión y estructura. – Nalius Jan 29 '20 at 18:22
  • ¿Responde esto a tu pregunta? [¿Cuál es la solución a todos los errores NullPointerException presentes, pasados y futuros?](https://es.stackoverflow.com/questions/42977/cu%c3%a1l-es-la-soluci%c3%b3n-a-todos-los-errores-nullpointerexception-presentes-pasados) – Ruslan López Feb 09 '22 at 16:33

1 Answers1

1

Para checkear si una variable o algo no existe es decir es nulo, usa un condicional para comprobarlo y evitar que se produzca el null pointer exception

if(variable != null)
{
   //código aquí
}else{
   //código por si la variable es nula
}
Roiniti
  • 26
  • 1