gpt4 book ai didi

lambda - 如何使用 Java 8 Lambda 验证两个变量

转载 作者:行者123 更新时间:2023-12-01 22:33:24 24 4
gpt4 key购买 nike

我如何使用 Java 8 Lambda 执行此操作:

Optional<String> code;
if (accountType.requiresCode() && (!code.isPresent() || empty(code.get()))) {
new IllegalArgumentException("Account type " + accountType + " requires code");
}

最佳答案

可以将代码重写为

Optional<String> code;
if (accountType.requiresCode()) code.filter(x->!empty(x)).orElseThrow(
() -> new IllegalArgumentException("Account type " + accountType + " requires code")
);

或者,假设您的 empty(code.get()) 实际上意味着 code.get().isEmpty():

Optional<String> code=Optional.empty();
if (accountType.requiresCode()) code.filter(x->!x.isEmpty()).orElseThrow(
() -> new IllegalArgumentException("Account type " + accountType + " requires code")
);

但这并没有真正增加可读性。 Lambda 并不总是比普通代码好。

关于lambda - 如何使用 Java 8 Lambda 验证两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475232/

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