Errore id - return null

di il
1 risposte

Errore id - return null

Buongiorno,

public void setPerfiKeyId(Long perfiKeyId) {
		this.perfiKeyId = perfiKeyId;
	}

DomandaDenorm b = new DomandaDenorm();
b.setPerfiKeyId(Long.valueOf(a.getMedico().getPersona().getId()));
Ogni volta che richiamo mi restituisce null, errore java.lang.null pointer exception.

come devo fare per risolvere??

io ho pensato in questo modo:

if (a.getMedico().getPersona().getId() != null) {
					b.setPerfiKeyId(Long.valueOf(a.getMedico().getPersona().getId()));
				} else {
					b.setPerfiKeyId(Long.parseLong("0"));
				}

però risulta sempre null è va finire in else

1 Risposte

  • Re: Errore id - return null

    Chiariamo una cosa, in questo codice:
    b.setPerfiKeyId(Long.valueOf(a.getMedico().getPersona().getId()));
    Ciò che potenzialmente può essere null (e causare il NPE) è:
    - a
    - il valore restituito da getMedico()
    - il valore restituito da getPersona()

    b non può essere null perché hai appena istanziato DomandaDenorm. Il getId() non so cosa ritorna di preciso ma presumo che venga scelto il valueOf(long l) a compilazione.

    Pertanto se vuoi fare quel setPerfiKeyId in modo "safe", dovresti fare prima:

    if (a != null && a.getMedico() != null && a.getMedico().getPersona() != null)


    P.S. Long.parseLong("0") è del tutto inutile
Devi accedere o registrarti per scrivere nel forum
1 risposte