【问题标题】:JAVA alternative to declare TreeMapJAVA 替代声明 TreeMap
【发布时间】:2016-07-28 03:25:41
【问题描述】:

我正在尝试创建一个 TreeMap,它能够存储映射到一个键的多个 beans(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&lt;String, List&lt;Row&gt;&gt; rowmap = new TreeMap&lt;String, List&lt;Row&gt;&gt;(); 到可以使用rowmap.get(combinedKey).add(rowlst);

如果有人能提出解决此问题的解决方法,那就太好了。我愿意接受所有建议。非常感谢!

编辑: Tomcat 版本:5.5.9 Java版本:1.6.0_41-b02

【问题讨论】:

  • 为什么 Live Tomcat Server 试图编译 Java 程序???我感觉你错误地识别了问题。我认为你需要专注于追踪和修复它,而不是破坏你的 Java 代码。
  • @ajb JSP 可能吗?
  • 您的 Tomcat 服务器在哪个 Java 版本上运行? Java 5 之前的版本?
  • 正如@RobbyCornelissen 所暗示的,您应该升级您的Tomcat 服务器以在较新版本的Java 上运行。要获得该错误,您运行的是 Java 1.4 或更早版本。 Java 1.4 于 2002 年问世,并于 2008 年终止。它很古老!
  • 请发布您的代码部分,您也可以在其中获得 java 和 Tomcat 的错误和版本

标签: java jsp generics treemap tomcat5.5


【解决方案1】:

使用 put 代替 add 方法用于 Maps。 put(K key, V value) 例如:rowmap.put(combinedKey,rowlst);

【讨论】:

  • 我计划将多个值映射到一个键,但 Maps。 put(K key, V value) 将覆盖之前映射到该键的值。感谢您的建议
  • 然后您可以首先检索值并将新列表添加到它们并再次保存到键例如: List rowvalues = (List ) rowmap.get(key); rowvalues.addAll(rowlst); rowmap.put(key, rowvalues);
猜你喜欢
  • 2013-01-04
  • 2015-10-20
  • 1970-01-01
  • 2011-04-12
  • 2012-12-05
  • 2011-03-03
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多