use*_*519 6 java generics hashmap java-5 java-6
如何实例化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);
Run Code Online (Sandbox Code Playgroud)
Dir*_*irk 18
将哈希映射声明为
Map<String,Object> params = new HashMap<String,Object>();
Run Code Online (Sandbox Code Playgroud)
你可以保留声明
public void method(Map<String, ?> params);
Run Code Online (Sandbox Code Playgroud)
实际上,只要该方法只尝试从地图中读取.
小智 6
Java 中的所有类都扩展了 Object。因此您可以使用 Object 作为映射中的值类型,例如
Map<String, Object> params = new HashMap<String, Object>
Run Code Online (Sandbox Code Playgroud)
你需要改变
Map<String,?>params=new HashMap<String,? >
Run Code Online (Sandbox Code Playgroud)
喜欢这个
Map<String,Object>params=new HashMap<String,Object>()
Run Code Online (Sandbox Code Playgroud)
但将所有类型的对象放入单个映射中并不是一个好习惯。更好的是,您可以创建 POJO 并将其添加到地图中。
| 归档时间: |
|
| 查看次数: |
45140 次 |
| 最近记录: |