我在这里使用了一个可选的ID,但我不喜欢必须声明两个变量来接收数据。什么是更简洁的方法来实现这一点,而不必声明一个额外的OptionalOrg变量?
Optional<Organization> optionalOrg;
Organization org;
if (request.getOrgId() != null) {
optionalOrg = organizationRepository.findById(request.getOrgId());
} else {
optionalOrg = organizationRepository.findById(DEFAULT_ORG);
}
if (optionalOrg.isPresent()) {
org = optionalOrg.get();
} else {
throw new ClientException("Org not found);
}
3条答案
按热度按时间wz3gfoph1#
orElseThrow
可用于获取包含的值,或者如果为空则抛出您选择的异常。jrcvhitl2#
我可能会这样做:
如果
requireNonNullElse
不是Java 11++和类似的函数,请使用适当的类型而不是var
。dy2hfwbg3#
试试这个,但我不是百分百确定。.