如果在mapper中找不到字符串,我需要String接收null值。getChave是返回的值。我所做的?如果我只得到nullPointerException

for(String chave : linha.keySet()) {
                //Processa chave
                String novaChave = mapper.getChave(chave.trim());
                if (!(novaChave == null || novaChave.isEmpty())) {
                    //Processa valor
                    String novoValor = linha.getString(chave);
                    temp.append(novaChave, novoValor);
                }
                else {
                    extras.append(chave, linha.getString(chave));
                }

            }


记录

java.lang.NullPointerException
    at oknok.validacao.readers.PlanilhaReader.processaAtributosPlanilha(PlanilhaReader.java:237)


237行是

String novaChave = mapper.getChave(chave.trim());


**更新:第一次运行循环,我有一个Nullpointer,chave包含一个值

System.out.println(chave.isEmpty() + "\t" + chave + "\t" + chave.trim());


输出量

false   Veículo Veículo

最佳答案

您需要为mapperchave添加空检查。

if (mapper!= null && chave != null && !"".equals(chave) {
    // do something
}




mapper.getChave(chave.trim())
       ^              ^   possible places for NPE.

08-26 12:16