請看下面的例子:如果元素存在,Set.remove是否會返回false?
public Optional<User> getUser(Integer id) {
for(User user : usersSet) {
if(user.getId().equals(id)) return Optional.of(user);
}
return Optional.empty();
}
public void deleteUser(Integer id) {
User user = getUser(id).orElseThrow(new RuntimeException("User not found"));
boolean result = usersSet.remove(user);
}
是否有其結果是虛假的情況下?
我問,因爲我不知道是否有必要檢查HashSet的remove
方法的結果。
順便說一句,如果你使用'Optional',無論如何,你可以做'users.stream()。filter(u - > u.getId() .equals(id))。findFirst();' – biziclop
謝謝你的建議:)。 –