我正在尝试创建一个TreeMap,它能够存储映射到一个键的多个bean(Row)。我目前对TreeMap的声明是:
Map<String, List<Row>> rowmap = new TreeMap<String, List<Row>>();
有了这种声明,我可以很容易地使用这种方法添加:
rowmap.get(combinedKey).add(rowlst);
这在我的本地机器上运行良好。问题是由于Live Tomcat服务器中的一些问题,我无法使用上面提到的声明来声明Map,它抛出了以下错误:
Syntax error on token "<", ( expected
Syntax error, insert ")" to complete Expression
Syntax error on token "<", ( expected
Syntax error on token "(", invalid Expression
所以我这样声明:
Map rowmap = new TreeMap();
这解决了以前的错误,但我不能使用rowmap.get(combinedKey).add(rowlst);
向一个键添加多个值,因为.add
是在List而不是TreeMap中定义的,根据我的理解,我需要这样声明TreeMap:Map<String, List<Row>> rowmap = new TreeMap<String, List<Row>>();
才能使用rowmap.get(combinedKey).add(rowlst);
。
如果有人能提出解决这个问题的办法,那就太好了。我对所有的建议都持开放态度。非常感谢!
编辑:Tomcat版本:5.5.9Java版本:1.6.0_41-b02
不使用add方法,而是使用put for Maps。put(K键,V值)例如:rowmap.put(combinedKey,rowlst);