如何实例化HashMap以放置集合和对象?
//it's wrong
Map<String,?>params=new HashMap<String,? >
List<Person> lstperson=getPerson();
params.put("person",lstperson);
params.put("doc",objectDoc);
params.put("idSol",new Long(5));
service.method(params);
//method
public void method(Map<String, ?> params);
答案 0 :(得分:16)
将哈希映射声明为
Map<String,Object> params = new HashMap<String,Object>();
您可以保留
的声明public void method(Map<String, ?> params);
实际上,只要该方法只尝试从地图中读取。
答案 1 :(得分:3)
您需要更改
Map<String,?>params=new HashMap<String,? >
喜欢这个
Map<String,Object>params=new HashMap<String,Object>()
但将所有类型的对象放入单个地图并不是一种好的做法。更好的是你可以创建POJO并将其添加到地图中。
答案 2 :(得分:3)
Java中的所有类都扩展了Object。所以你可以在地图中使用Object作为值类型,比如
Map<String, Object> params = new HashMap<String, Object>
答案 3 :(得分:0)
我在这里是科特林的替代人
您可以在kotlin中将其声明为:-
val map: Map<String, Any?>