Java可选,不带if
我在 Java 中有下一个方法:
@Override
public Optional<Client> save(Client client) throws ValidatorException {
Optional<Client> clientOptional = super.save(client);
if (clientOptional.isEmpty()) {
return Optional.empty();
}
saveAllToFile();
return clientOptional;
}
有人可以帮我在没有“如果”的情况下写出来吗?我觉得是多余的。我尝试使用 ifPresentOrElse:
clientOptional.ifPresentOrElse(
() -> { saveAllToFile(); return clientOptional; },
() -> { return Optional.empty(); }
);
但这不是好方法。
回答
@Override
public Optional<Client> save(Client client) throws ValidatorException {
Optional<Client> clientOptional = super.save(client);
clientOptional.ifPresent(x -> saveAllToFile());
return clientOptional;
}