String retour = CodeExecutionChaine.A.getCode();
if (!lstChaines.isEmpty()) {
retour = lstChaines.stream()
.filter(t -> t.getNomChaine() == Chaines.ADPL.getCode())
.map(Chaine::getStatutChaine)
.findFirst()
.orElse(CodeExecutionChaine.A.getCode());
enum Chaines
public enum Chaines {
ADPL("ADPL"),
ADIL("ADIL"),
ADSL("ADSL");
private String code = "";
Chaines(String code) {
this.code = code;
}
public String getCode() {
return this.code;
}
}
CodeExecutionChaine
也是如此答案 0 :(得分:3)
将t -> t.getNomChaine() == Chaines.ADPL.getCode()
更改为t -> t.equals(Chaines.ADPL.getCode())
。
==
检查身份。因此,==
仅在两个引用指向同一个对象时才会生成true
。另一方面,equals
会检查equality
。两个不指向同一个对象但具有相似properties
的引用仍然被认为是相同的。得到NoSuchElementException
,因为您使用==
filter
Stream
导致零元素满足条件。