gpt4 book ai didi

Java - 如何返回父方法?

转载 作者:行者123 更新时间:2023-11-29 06:27:56 25 4
gpt4 key购买 nike

我正在研究一种方法,如果密码匹配,应该将客人登记到房间。该方法还应该返回那个房间。

public Room checkIn(String password, String guestName) {
assert (guestName != null);
if (this.password.testWord(password) && roomList.stream().allMatch(r -> r.getGuest().getName() != guestName)) {
roomList.forEach(r -> {
if (r.getGuest() == null) {
new Guest(guestName).checkin(r);
return r;
}
});
}
return null;
}

Eclipse 给了我关于在 forEach() 方法中返回的错误,因为 forEach() 不应该返回任何东西。我正在尝试让 checkIn() 方法返回房间。有什么办法可以做到这一点?

最佳答案

使用Stream.findFirst()获取第一个匹配的元素:

Optional<Room> r = roomList.stream().filter(r -> r.getGuest() == null).findFirst();
if (r.isPresent()) {
new Guest(guestName).checkin(r.get());
return r.get();
}

关于Java - 如何返回父方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47551680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com