2
代碼片段sonarQube建議刪除lambda expression
中未使用的局部變量。我仍然不處理什麼是新的Java 8,特別是lambda表達式。
如何替換這些未使用的變量? IntelliJ對我沒有任何建議。如何刪除lambda表達式的變量?
我的代碼
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
刪除這個未使用 「蔡夫」 局部變量。
刪除這個未使用的「aValidation」局部變量。
只是刪除它們! – Lrrr
對我來說,它看起來像sonarQube中的一個錯誤,因爲這些變量肯定是在源代碼中使用的。從lambda生成的字節碼中可能有一些未使用的內容,但這是Java 8的一個小故障,工具應該識別它。或者也許是sonarQube明顯錯誤。無論如何,看看他們的問題清單。 – maaartinus
@Lrrr我不知道哪段代碼應該刪除這個變量,IntelliJ沒有指責任何未使用的變量。 –