我是Java流的新手。我有一个代码片段,我需要使用java流写。我试图根据一个条件为一个字符串设置一个值。我试图寻找解决方案,并通过使用anyMatch进行实验,但是没有任何进展。
String loadAGENTID = "";
for(ReportGenerationParameter rgp : loadReportTableExt.getReportGenerationParameters()) {
if (rgp.getKey().equalsIgnoreCase(RapFilter.IDUSR)) {
loadAGENT_ID = rgp.getValue();
}
}
在代码中要使用字符串loadAGENTID。欢迎任何建议。谢谢你的建议。
我试过使用 Arrays.stream
和 anyMatch
遥遥无期
boolean todoName =
Arrays.stream(loadReportTableExt.getReportGenerationParameters())
.anyMatch(item -> item.getKey().equalsIgnoreCase(RapFilter.IDUSR));
if (todoName) {
// want to set the value of the respective object.
loadAGENT_ID = item.getValue();
}
使用 过滤 找到匹配的对象,然后用 findFirst 其中返回第一个匹配元素
String loadAGENTID = loadReportTableExt.getReportGenerationParameters()
.stream()
.filter(rgp-> rgp.getKey().equalsIgnoreCase(RapFilter.IDUSR))
.findFirst()
.map(rgp->rgp.getValue()) // returns value from first matching element
.orElse(""); // none of them matched returns default value