首页 > 解决方案 > 这是使用java optional的正确方法吗

问题描述

这是使用 java 的正确方法Optional吗?

public Optional<DoctorDTO> getPrimaryDoctorDetails(String clientId)
{
  try {

    ps = objDataBaseClass.getPrepareStatement(connection, "QUERY");           
    ps.setString(1, clientId);

    rs = objDataBaseClass.executeQuery(ps);     

    if (rs.next()) 
      doctorDTO.setProviderId(rs.getString("NAME"));               
  } catch (SQLException sqlE) {}   

  Optional<DoctorDTO> optionalDoctor =
      doctorDTO==null ? Optional.empty() : Optional.of(doctorDTO);

  return optionalDoctor;
}  

标签: java-8

解决方案


不,你应该使用

Optional.ofNullable(doctorDTO)

返回类型也应该是Optional<DoctorDTO>. 而且您至少应该记录异常。


推荐阅读