代码段sonarQube建议删除lambda expression
中未使用的局部变量。我仍然不处理Java 8中的新内容,尤其是lambda表达式。
如何替换未使用的这些变量? IntelliJ对我没有任何建议。
我的代码
validation.stream().filter(aValidation -> aValidation.getSpec() != null).forEach(aValidation -> {
if (aValidation.getArquivo() != null) {
String nomeOriginal = aValidation.getSpec().get("peca_nome").toString();
itemsValidacao.put(nomeOriginal, aValidation.getResultadoConsolidado());
} else {
if (aValidation.getSpec().get("peca_nome") != null) {
String nomeOriginal = aValidation.getSpec().get("peca_nome").toString();
itemsValidacao.put(nomeOriginal, aValidation.getResultadoConsolidado());
}
}
});
chaves.stream().filter(chave -> chave != null).forEach(chave -> {
String value = cabecalho.get(chave);
try {
String novaChave = mapper.getChave(value.trim().toLowerCase());
if (!novaChave.isEmpty()) {
cabecalhoNormalizado.put(novaChave, chave);
}
} catch (NullPointerException e) {
Log.info(this, "Erro ao obter chave: " + value, e);
}
});
sonarQube
删除这个未使用的“chave”局部变量。
删除此未使用的“aValidation”局部变量。
答案 0 :(得分:3)
在该代码段中,请勿删除它们。它们用于String nomeOriginal = aValidation.getSpec().get("peca_nome").toString()
和cabecalhoNormalizado.put(novaChave, chave)
等地方。试图删除它们几乎肯定会破坏程序,所以我不确定为什么IntelliJ认为它们是未被使用的。"