可选orElseThrow给出空指针异常

问题描述 投票:0回答:1

我有此方法:

 public Tenant getTenant(String tenantId) throws TenantNotFoundException {
  return tenantDatabaseService.findTenantById(tenantId)
      .orElseThrow(() -> new TenantNotFoundException("Tenant not found"));
  }

tenantDatabaseService.findTenantById(tenantId)返回一个可选:

public Optional<Tenant> findTenantById(String id) {
    return tenantRepository.findById(id);
  }

[当findById为null时,我希望引发异常。相反,我看到一个空指针被抛出:

Failed to complete request: java.lang.NullPointerException: while trying to invoke the method 
java.util.Optional.orElseThrow(java.util.function.Supplier) of a null object returned from 
com.sap.gb.service.TenantDatabaseService.findTenantById(java.lang.String)

这里有帮助吗?

java nullpointerexception optional
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.