寻找最佳策略来处理根据条件返回两种不同数据类型的方法
public Response find(int id) {
Student std = studentService.findOne(empId):
if(std == null)
return new ErrorResponse(errorCode);
else
return new SuccessResponse(std);
}
一个条件是我无法实现 ErrorResponse 或 SuccessResponse 的接口(interface)。
另一个条件是我不能为此拥有父类。
这些类是由其他客户端动态生成的类
最佳答案
@Getter
@Setter
Class Response {
private ErrorResponse error;
private SuccessResponse success;
}
public Response find(int id) {
Response res = new Response();
Student std = studentService.findOne(empId):
if (std == null)
res.set(new ErrorResponse(errorCode));
else
return res.set(new SuccessResponse(std));
}
我认为使用ErrorResponse和SuccessResponse的Optional可能会很好
关于java - 根据同一方法的条件返回两种不同的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59886882/