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?
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!
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.
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
.