基于作者姓名的 Jersey 消息过滤应该 return 多个值
Jersey Message Filtering based on Author Name should return more than one value
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;
}
正如 Triby 在评论中提到的那样,您应该创建一个新列表并添加符合您的条件的元素,然后 return 列表,以便在匹配时获得多个元素。
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;
}
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;
}
正如 Triby 在评论中提到的那样,您应该创建一个新列表并添加符合您的条件的元素,然后 return 列表,以便在匹配时获得多个元素。
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;
}