有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SpringJava的可选强制本身,否则我会得到一个错误

如果我不使用Optional(IDE建议我使用Optional)而不是仅仅使用demographicsentity,为什么会出现错误

@Test
public void testFindDemographicsById() {        
    DemographicEntity demoEntity = demoRepo.findById(1l); /////Gives Error  
}

@Test
public void testFindDemographicsById() {        
    /////forced to use Optional 
    Optional<DemographicEntity> demoEntity = demoRepo.findById(1l); /////No Error
}

共 (2) 个答案

  1. # 1 楼答案

    您的findById返回一个Optional。使用.get()获取实际值

    DemographicEntity demoEntity = demoRepo.findById(1l).get();
    
  2. # 2 楼答案

    在demoRepo中,您必须声明了方法

    Optional<DemographicEntity> findById 
    

    您可以通过两种方式进行修复

    第一个是更改存储库中的方法以返回DemographicEntity:

    DemographicEntity findById
    

    另一个更好的解决办法是打电话

    demoRepo.findById(1l).get();