// 统计还款本金
BigDecimal repayPrincipleAmount = preReturnInfoResponList.stream().map(PreReturnInfoRespon::getRepayPrinciple).reduce(BigDecimal.ZERO, BigDecimal::add);
// 分组统计 Group InterestInfo by name
Map<String, List<InterestInfo>> totalGroup = totalInterestInfos.stream()
.collect(Collectors.groupingBy(InterestInfo::getName));
// 比较对象,指定字段 QueryBindCardInfoResponse grcBindCardInfo = new QueryBindCardInfoResponse(); grcBindCardInfo.setUserNo(userAppInfo.getUserId()); grcBindCardInfo.setUserName(userAppInfo.getClientName()); grcBindCardInfo.setIdCard(bankCard.getAccount()); grcBindCardInfo.setMobile(bankCard.getRelationMobile()); // TODO 设置 fundCode String[] excludeFields = {"secondaryAccount", "bindTime"}; List<QueryBindCardInfoResponse> dataList = bankCardCore.bindCardQuery(userAppInfo.getUserId(), null); boolean containCard = dataList.stream() .anyMatch(data -> (EqualsBuilder.reflectionEquals(data, grcBindCardInfo, excludeFields)));