gpt4 book ai didi

java - 如何从我的 validator 类中消除所有 "if"语句

转载 作者:行者123 更新时间:2023-12-01 19:57:31 25 4
gpt4 key购买 nike

有没有办法消除此类中的所有“if”语句,并仍然保持完全相同的功能?

到目前为止,我通过创建 2 个额外函数来简化代码:isNameValid 和 isPhoneValid,但我需要一种方法来摆脱所有“if”语句。

public class ClientValidator implements Validator<Client> {
@Override
public void validate(Client entity) throws ValidatorException {
if(!isNameValid(entity.getName())){
throw new ClientException("Invalid name!");
}
if(!isPhoneValid(entity.getPhone())){
throw new ClientException("Invalid phone number!");
}
}

private boolean isNameValid(String name) {
return name.length() > 1 && name.length() < 100;
}

private boolean isPhoneValid(String phone) {
try {
Long.parseLong(phone);
} catch (NumberFormatException e) {
return false;
}
return true;
}
}

最佳答案

您可以尝试选项并对方法进行过滤,但您会错过特定原因的异常:

Optional
.of(entity)
.filter(entity -> isNameValid(entity.getName())
.filter(entity -> isPhoneValid(entity.getPhone())
.orElseThrow(() -> new ClientException("Wrong client data"));

关于java - 如何从我的 validator 类中消除所有 "if"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49088633/

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