請人幫我在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執行什麼操作。我不能看到這個代碼的任何用法。 –