首页 新闻 搜索 专区 学院

List<User>和List<Object>之间可以相互转换吗?

0
悬赏园豆:30 [已解决问题] 解决于 2018-04-19 14:27

如题,List<User> userList = ...是mybatis查询数据库返回的结果集,现需要把这个数据集放入缓存中,缓存工具类方法为

setObjectList(String key, List<Object> value, int cacheSeconds) {};

我这样传参数是不对的,setObjectList("name", userList , 0);

也就是List<User>和List<Object>之间关系的错误,强转也不行,求各位指点,不胜感激

lerxi的主页 lerxi | 初学一级 | 园豆:162
提问于:2018-04-18 19:40
< >
分享
最佳答案
0

可以直接把 List<User> 作为 object 放入缓存

收获园豆:20
dudu | 高人七级 |园豆:38815 | 2018-04-18 23:02

感谢,用你的方法搞定了

lerxi | 园豆:162 (初学一级) | 2018-04-19 14:16
其他回答(4)
0

list.cast<object>

list.cast<user>

czd890 | 园豆:9192 (大侠五级) | 2018-04-18 20:46
0

userList.select(t=>t as object)

猝不及防 | 园豆:1988 (小虾三级) | 2018-04-19 08:31
0

楼主这个是java 代码吧
List<Object> 改成
List<? extends Object> value

如果是C# 代码可以吧List<Object> 改成IEnumerable<Object>
原理是泛型逆变和协变

收获园豆:5
Mirck | 园豆:139 (初学一级) | 2018-04-19 09:28

感谢,因为是调用的其他组件工具类,原则上尽量不去修改他的方法,用2楼的方法换个思路解决了

支持(0) 反对(0) lerxi | 园豆:162 (初学一级) | 2018-04-19 14:16
0

List<user>不要当做List<Object>,当做一个object

收获园豆:5
小光 | 园豆:1830 (小虾三级) | 2018-04-19 13:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册