【发布时间】:2015-06-04 11:04:11
【问题描述】:
- 我有
map<Integer,Object> - 我想把地图的值放到
List<String> -
ArrayList<String>(map.values)给了我一个错误 The constructor ArrayList<String>(Collection<Object>) is undefined
编辑:
谢谢你。但我并没有说清楚。我的对象是名为 TravelData 的类对象,其中几乎没有变量,例如双精度数、日期和字符串。我处理它们并像<Integer,TravelData>. 一样放入地图然后我必须将它们放入List<String> 并全部打印出来。我无法更改列表类型:(
解决方法:重写 toString 方法
multiLangOffers = new ArrayList<String>();
for (TravelData value : offers.values()) {
multiLangOffers.add(value.toString());
}
谢谢大家!
【问题讨论】:
-
您的
Collection指定它可能包含任何Object。您的List只能包含String的实例。如果您的地图值实际上都是字符串,请修复您的地图定义。 -
否则您将无法手动执行此操作,如果您想要的话,请在您的对象上调用
toString()。 -
如果是TravelData,那么请提供这个类的接口以及你想要的List中的值。
-
为什么不将 toString 添加到您的 TravelData 并在打印时遍历条目集并获取值意味着您的 traveldata 并打印它
标签: java list dictionary