【发布时间】:2014-04-04 15:50:50
【问题描述】:
我将 TreeMap 填充到意图中:
private TreeMap<Long, Long> mSelectedItems;
...
mSelectedItems = new TreeMap<Long, Long>();
...
Intent intent = new Intent();
intent.putExtra("results", mSelectedItems);
setResult(RESULT_OK, intent);
然后尝试在调用活动中将其读回:
TreeMap<Long, Long> results = (TreeMap<Long, Long>)
data.getSerializableExtra("results");
导致:
E/AndroidRuntime(26868): Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to java.util.TreeMap
好吧,当然,但是因为我没有在代码中的任何地方使用 HashMap,而且由于 TreeMap 实现了 Serializable,所以这应该可以正常工作,不是吗?为什么 android 试图强行给我一个我没有使用的类?
【问题讨论】:
标签: android android-intent hashmap classcastexception treemap