web-dev-qa-db-ja.com

コレクションとオブジェクトを挿入するための汎用HashMapを作成するにはどうすればよいですか?

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);
6
user2683519

ハッシュマップを次のように宣言します

Map<String,Object> params = new HashMap<String,Object>();

あなたはの宣言を保つことができます

public void method(Map<String, ?> params);

メソッドがすべてのマップからの読み取りを試みる限り、そのままです。

18
Dirk

変更する必要があります

Map<String,?>params=new HashMap<String,? > 

これを好きに

Map<String,Object>params=new HashMap<String,Object>()

ただし、すべてのタイプのオブジェクトを1つのマップに配置することはお勧めできません。 POJOを作成して、マップに追加することをお勧めします。

4
Prabhakaran

JavaのすべてのクラスはObjectを拡張します。したがって、次のように、マップの値型にObjectを使用できます。

Map<String, Object> params = new HashMap<String, Object>
3
bmanvelyan