改成下面这样就可以了。
List
GrossMarginPredictedDetailDto a = new GrossMarginPredictedDetailDto();
GrossMarginPredictedDetailDto a1 = new GrossMarginPredictedDetailDto();
GrossMarginPredictedDetailDto a2 = new GrossMarginPredictedDetailDto();
GrossMarginPredictedDetailDto a3 = new GrossMarginPredictedDetailDto();
a.setMatnr("abc");
a1.setMatnr("edf");
a2.setMatnr("abc");
a3.setMatnr("dd");
a.setN_clie1(new BigDecimal("1.5"));
a1.setN_clie1(new BigDecimal("1.5"));
a2.setN_clie1(new BigDecimal("1.4"));
a3.setN_clie1(new BigDecimal("1.0"));
list.add(a);
list.add(a1);
list.add(a2);
list.add(a3);
Map
GrossMarginPredictedDetailDto dto = new GrossMarginPredictedDetailDto();
dto.setMatnr(v1 != null ? v1.getMatnr() : v2.getMatnr());
dto.setN_clie1(Optional.ofNullable(v1).map(GrossMarginPredictedDetailDto::getN_clie1).orElse(BigDecimal.ZERO).add(Optional.ofNullable(v2).map(GrossMarginPredictedDetailDto::getN_clie1).orElse(BigDecimal.ZERO)));
return dto;
})));
可以用Java8的Stream来帮助生成集合,举例如下: public static void main(String[] args) { // 起始数字 int start = 1; // 生成数字的个数 int end = 100; // 生成1,2,3,4,5100 List list = Stream.iterate(start, item -> item+1).limit(e
reducing里面return一个新对象出来,不要return X1。
我也遇到同样的问题了,有大神知道什么原因吗?