TreeMap键值为String数组

时间:2012-01-05 15:06:41

标签: java treemap

我正在尝试将Treemap中的键值添加到String []中,但我做错了,我得到了这个:“[Ljava.lang.String; @ 281ec58a”。有人可以帮忙吗? 提前谢谢。

这是我正在使用的代码:

    TreeMap t = new TreeMap(hm); //hm is a Hashmap
    t = (TreeMap) sortByValues(t); // i sort the values with this method
    String [] tempa = (String[]) t.keySet().toArray(new String[t.size()]);

2 个答案:

答案 0 :(得分:2)

"[Ljava.lang.String;@281ec58a"是默认情况下如何打印数组(即转换为字符串)。如果迭代数组的内容,并依次打印每个元素,您可能会发现一切都符合预期。

答案 1 :(得分:2)

完全不清楚HashMapTreeMap中的值是什么,因为您使用的是原始类型。如果你使用泛型,你的代码对我们,你和编译器会更清楚。

然而,很可能一切都很好 - 只是你通过调用toString将字符串数组转换为某个字符串。 (你没有告诉我们你的意思是“我得到这个” - 在哪里?)

尝试使用:

String output = Arrays.toString(tempa);

查看数组中的值是什么。