我想知道是否有一种方法可以更新 Stream
lambda 代码中的对象两次,我需要更新一个类的两个属性,我需要更新 value
和recordsCount
属性
对象:
public class HistoricDataModelParsed {
private Date startDate;
private Date endDate;
private Double value;
private int recordsCount;
}
我尝试做这样的事情:
val existingRecord = response.stream()
.filter(dateTime ->fromDate.equals(dateTime.getStartDate()))
.findAny()
.orElse(null);
response.stream()
.filter(dateTime ->fromDate.equals(dateTime.getStartDate()))
.findAny()
.orElse(existingRecord)
.setvalue(valueAdded)
.setRecordsCount(amount);
但我收到此错误:“无法在原始类型 void 上调用 setRecordsCount(int)
”
所以我最终做了两次流来更新我需要的两个字段中的每一个
response.stream()
.filter(dateTime ->fromDate.equals(dateTime.getStartDate()))
.findAny()
.orElse(existingRecord)
.setvalue(valueAdded);
response.stream()
.filter(dateTime ->fromDate.equals(dateTime.getStartDate()))
.findAny()
.orElse(existingRecord)
.setRecordsCount(amount);
有没有一种方法可以实现我需要的内容,而无需流式传输列表的两倍?