Come risolvere java.lang.Errore NullPointerException? [duplicato]


Questa domanda ha già una risposta qui:

Quando eseguo il mio programma Java, mi dà un errore su questa riga

compiler.getTask(null, null, new DiagnosticCollector<JavaFileObject>(), null, null, compilationUnits);

L'errore che sto ricevendo è:

Exception in thread "main" java.lang.NullPointerException
    at AnotherClassLoader.loadClass(test.java:58)
    at test.main(test.java:30)
    at Main.main(Main.java:68)

Puoi dirmi come posso risolvere questo errore?

Author: user207421, 2012-05-05

3 answers

Un NullPointerException significa che una delle variabili che stai passando è null, ma il codice cerca di usarlo come non lo è.

Ad esempio, se faccio questo:

Integer myInteger = null;
int n = myInteger.intValue();

Il codice tenta di afferrare l'intValue di myInteger, ma poiché è null, non ne ha uno: si verifica un'eccezione del puntatore null.

Ciò significa che il tuo metodo getTask si aspetta qualcosa che non è un null, ma stai passando un null. Capire che cosa getTask ha bisogno e passare quello che vuole!

 78
Author: Jeremy, 2015-09-03 08:01:55

Questo errore si verifica quando si tenta di fare riferimento a un'istanza di oggetto nullo. Non posso dirti cosa causa questo errore dalle tue informazioni fornite, ma puoi eseguirne il debug facilmente nel tuo IDE. Ti consiglio vivamente di utilizzare la gestione delle eccezioni per evitare comportamenti imprevisti del programma.

 7
Author: Ehsan Khodarahmi, 2012-05-05 18:08:52

Solo un colpo al buio(dal momento che non hai condiviso il codice di inizializzazione compiler con noi): il modo in cui recuperi compiler causa il problema. Punta il tuo JRE per essere all'interno del JDK come a differenza di jdk, jre non fornisce alcun strumento quindi, risulta in NPE.

 2
Author: aviad, 2012-05-05 18:13:58