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;
}


以上是Java可选,不带if的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>