2016-07-28 4 views
0

1つのキーにマッピングされた複数のBean(Row)を格納できるTreeMapを作成しようとしています。 TreeMapの私の現在の宣言は次のとおりです。私は簡単に追加するには、このメソッドを使用することができます宣言のこの種のJAVAの代わりにTreeMapを宣言する

Map<String, List<Row>> rowmap = new TreeMap<String, List<Row>>(); 

:これは私のローカルマシンにうまく働いていた

rowmap.get(combinedKey).add(rowlst); 

。ライブTomcatサーバーでいくつかの問題が原因の問題は、私は地図を宣言するために、上記の宣言を使用することができなかった、それはこれらのエラーをスローします:

Map rowmap = new TreeMap(); 

Syntax error on token "<", (expected 
Syntax error, insert ")" to complete Expression 
Syntax error on token "<", (expected 
Syntax error on token "(", invalid Expression 

は、だから私はこのように宣言しました

これは以前のエラーを解消しましたが、rowmap.get(combinedKey).add(rowlst);を使用することができませんでした。.addがList not TreeMapで定義されているため、複数の値をキーに追加することができませんでした。

誰でもこの問題を解決するための回避策を提案できれば幸いです。私はすべての提案に開いている。たくさんのことがありがとう!

EDIT: Tomcatのバージョン:5.5.9 Javaバージョン:1.6.0_41-B02

+1

Live Tomcat ServerがJavaプログラムをコンパイルしようとしているのはなぜですか?私はあなたが問題を誤認したと感じています。私はあなたのJavaコードにダメージを与える代わりに、それを追跡して修正することに集中する必要があると思います。 – ajb

+1

@ajb JSPおそらく? –

+0

そして私は、本番環境がJavaコードをコンパイルする必要はないはずです。 –

答えて

0

代わりにaddメソッドの使用のマップのために置きます。 put(Kキー、V値)例:rowmap.put(combinedKey、rowlst);

+0

私はマップ以外のキーに複数の値をマップする予定です。 put(Kキー、V値)は、キーにマップされている以前の値を上書きします。提案をお寄せいただきありがとうございます – User420

+0

最初に値を取得し、新しいリストを追加して、キーに再度保存してください。例: List rowvalues =(List)rowmap.get(key); rowvalues.addAll(rowlst); rowmap.put(key、rowvalues); – athina

関連する問題