java - 我有两个 Java 对象,我想决定在运行时返回哪个对象
问题描述
这是我的控制器类。我想根据选择呈现数据,但我可以一次返回任何一种对象:
@RequestMapping(value ="/listMessages" , produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})
@ResponseBody
public List<FirstVersionMessageDTO> getAllMessages(@RequestParam Map<String,String> allParams) {
if(allParams.get("version").equalsIgnoreCase("v1" ) && allParams.size()==1)
return listMessagesService.getAllMessages("v1");
else if (allParams.get("version").equalsIgnoreCase("v2") )
return listMessagesService.getAllMessages("v2");
return null;
}
我想在运行时返回对象。我的意思是有两个对象FirstVersionMessageDTO
and SecoundVersionMessageDTO
,但是如果我的版本是 v1,那么第一个,如果它是 v2,那么第二个。
如何在运行时实现这一点?
解决方案
如果您真的想要快速修复,那么您可以使用泛型
方法签名如下:
public List<?> getAllMessages(...)
推荐阅读
- excel - 如何使用 Excel 使用月份和不同标准使用 SUMPRODUCT
- python - 绘制分层定量数据
- python - 虽然循环没有给出预期的结果
- scala - 检查数据框中列的计数,并添加列并计数为 Map
- python - VLC Python - 使用 Python 绑定更改视频方向(或旋转)
- vue.js - 在导航抽屉(侧边栏)vue.js 的项目列表中突出显示子项
- javascript - 使用 Angular ReactiveForm setValue 方法设置默认值选项
- excel - 如何在 Microsoft Excel 单元格中获取多个子字符串
- r - 删除异常值后传播数据的问题
- r - data.table R:在特定时间段内发生两个事件的瞬间