请人帮我在Java8 streamAPI为此,Java8流循环迭代
for(ContactDto contact : contactList){
for(ContactContactTypeDto contactType : contact.getContactTypes()){
if(PRIMARY_CONTACT.equals(contactType.getIdContactTypeCode())){
StringBuilder contactNameSB = new StringBuilder(contact.getFirstName());
contactNameSB.append(" ");
if(null!=contact.getMiddleName() && !contact.getMiddleName().isEmpty()){
contactNameSB.append(contact.getMiddleName());
contactNameSB.append(" ");
}
contactNameSB.append(contact.getLastName());
contactName = contactNameSB.toString();
contactEmail = contact.getEmailAddress();
}
}
}
我试过,但我只能达到高达
contactList.stream()
.filter(contact -> contact.getContactTypes()
.stream()
.anyMatch(contactType -> PRIMARY_CONTACT.equals(contactType.getIdContactTypeCode())));
您的循环不太合理,您迭代了联系人,但'contactEmail'和'contactName'将始终是循环中最后一个'ContactDto',因为它们被覆盖。你错过了一个“休息”吗? – Rogue
你能解释一下应该是什么结果。应该使用contactNameSB执行什么操作。我不能看到这个代码的任何用法。 –