Como resolver java.idioma.Erro de percepção de ponto final? [duplicado]
esta pergunta já tem uma resposta aqui:
- O que é um ponto final, e como posso corrigi-lo? 12 respostas
Quando dirijo o meu programa Java, isso dá-me um erro nesta linha
compiler.getTask(null, null, new DiagnosticCollector<JavaFileObject>(), null, null, compilationUnits);
o erro que estou a obter é:
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)
Pode dizer - me Como posso resolver este erro?
3 answers
Um ponto final significa que uma das variáveis que estás a passar é nula, mas o código tenta usá-la como não é.
Por exemplo, se eu fizer isto:
Integer myInteger = null;
int n = myInteger.intValue();
O código tenta agarrar o valor do myInteger, mas como ele é nulo, ele não tem um: uma exceção de ponteiro nulo acontece.
O que isto significa é que o teu método de getTask está à espera de algo que não é nulo, mas estás a passar por um nulo. Descobrir o que o getTask precisa e passar o que ele quer!Este erro ocorre quando você tenta se referir a uma instância de objeto nulo. Não posso dizer-lhe o que causa este erro com a sua informação dada, mas você pode depurá-lo facilmente em sua IDE. Recomendo vivamente que usem o tratamento de excepções para evitar um comportamento inesperado do programa.
Apenas um tiro no escuro (uma vez que não partilhou o código de inicialização {[[0]} connosco): a forma como recupera o {[[0]} causa o problema. Aponte o seu JRE para estar dentro do JDK como diferente do jdk, o jre não fornece quaisquer ferramentas, o que resulta em NPE
.