基于作者姓名的泽西岛邮件过滤应返回多个值

问题描述 投票:-2回答:1
public Message getMessageByAuthor(String authorName) { 
    List<Message> nameList = new ArrayList<Message>(messages.values());
    Message message = null;
    if (!authorName.isBlank()) {
        Iterator<Message> iterator = nameList.iterator();
        while (iterator.hasNext()) {
            message = iterator.next();
            if (message.getMessageAuthor().contains(authorName)) {
                return message;
            }
        }
    }
    return message;
}
java jersey
1个回答
0
投票

正如Triby在评论中所提到的,您应该创建一个新的List并添加与您的条件匹配的元素,然后返回该列表,以便在匹配时获得多个元素。

public List<Message> getMessageByAuthor(String authorName) { 
    List<Message> nameList = new ArrayList<Message>(messages.values());
    List<Message> responseMessageList = new ArrayList<>();
    Message message = null;
    if (!authorName.isBlank()) {
        Iterator<Message> iterator = nameList.iterator();
        while (iterator.hasNext()) {
            message = iterator.next();
            if (message.getMessageAuthor().contains(authorName)) {
                 responseMessageList.add(message);
            }
        }
    }
    return responseMessageList;
}
© www.soinside.com 2019 - 2024. All rights reserved.