前后台分离时spring把HashSet自动转换成了ArrayList求大神解答,hashsetarraylist
分享于 点击 29738 次 点评:210
前后台分离时spring把HashSet自动转换成了ArrayList求大神解答,hashsetarraylist
后台SpringMVC代码:
@RestController
@RequestMapping(“/controller”)
public class TestController {
@RequestMapping(value = "getValue", method = RequestMethod.POST)
public HashMap<String, HashSet<String>> getValue(){
HashMap<String, HashSet<String>> map = new HashMap<String, HashSet<String>>();
HashSet<String> set = new HashSet<String>();
set.add("a");
map.put("1", set);
return map;
}
}
前台swt代码:
public class SWTController extends BeanController{
public void getValue(){
//Template.httpPost是封装好的可以直接调后台的方法
HashMap<String, HashSet<String>> value= Template.httpPost(
"controller/getValue", HashMap.class);
HashSet<String> valueSet = value.get("1");//这里报错
}
}
错误为:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.HashSet
有没有大神给个好一点的解决办法
我的解决办法:
1、 直接把HashSet改成List就好了
2、 在不动后台的情况下
public void getValue(){
//Template.httpPost是封装好的可以直接调后台的方法
HashMap<String, HashSet<String>> value= Template.httpPost(
"controller/getValue", HashMap.class);
Object valueObject = value.get("1");
if(valueObject instanceof ArrayList){
HashSet<String> valueSet = new HashSet<String>((ArrayList)valueObject);
}
}
相关文章
- 暂无相关文章
用户点评