我有一个变量
课堂上Map<String,Object> parameters;
。从mongo保存并加载时,如果此Object的类型为Set
,则会转换为List
。如何将其保留为Set
?
编辑:
添加更多上下文
public class Param{
Map<String,Object> parameters;
public Param(Map<String, Object> parameters) {
this.parameters = parameters;
}
public Map<String, Object> getParameters() {
return parameters;
}
public void setParameters(Map<String, Object> parameters) {
this.parameters = parameters;
}
}
保存如下
Set<String> obj = new HashSet<>();
obj.add("ab");
obj.add("cd");
Map<String, Object> parameters = new HashMap<>();
parameters.put("12",obj);
Param param = new Param(parameters);
MongoTemplate mongotemplate = ....
mongotemplate.insert(param);
阅读时
MongoTemplate mongotemplate = ....
Query query = ...
Param mongoparam = mongotemplate
.find(query, Param.class).get(0);
Set<String> obj = (Set) mongoparam.get("12")
最后一行是抛出Arraylist无法转换为Set
的错误