Comment résoudre java.lang.NullPointerException error? [dupliquer]
cette question a déjà une réponse ici:
- Qu'est-ce qu'une NullPointerException, et comment la corriger? 12 réponses
quand j'exécute mon programme Java, il me donne une erreur sur cette ligne
compiler.getTask(null, null, new DiagnosticCollector<JavaFileObject>(), null, null, compilationUnits);
L'erreur que je reçois est:
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)
pouvez-vous me dire comment résoudre cette erreur?
3 réponses
une NullPointerException signifie qu'une des variables que vous passez est nulle, mais le code essaie de l'utiliser comme il ne l'est pas.
par exemple, si je fais ceci:
Integer myInteger = null;
int n = myInteger.intValue();
le code essaie de saisir l'intValue de myInteger, mais puisqu'il est nul, il n'en a pas: une exception de pointeur nul se produit.
ce que cela signifie est que votre méthode getTask attend quelque chose qui n'est pas un nul, mais vous passez un NULL. Trouvez ce dont getTask a besoin et passez ce qu'il veut!
cette erreur se produit lorsque vous essayez de vous référer à une instance d'objet null. Je ne peux pas vous dire ce qui cause cette erreur par vos informations données, mais vous pouvez la déboguer facilement dans votre IDE. Je vous recommande fortement d'utiliser la gestion des exceptions pour éviter un comportement inattendu du programme.
Juste un coup de feu dans l'obscurité(puisque vous ne partagez pas la compiler
code d'initialisation avec nous): la façon de récupérer le compiler
à l'origine du problème. Pointez votre JRE pour être à l'intérieur du JDK comme à la différence de jdk, jre ne fournit pas d'outils donc, les résultats dans NPE
.