我正在尝试将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()]);
答案 0 :(得分:2)
"[Ljava.lang.String;@281ec58a"
是默认情况下如何打印数组(即转换为字符串)。如果迭代数组的内容,并依次打印每个元素,您可能会发现一切都符合预期。
答案 1 :(得分:2)
完全不清楚HashMap
和TreeMap
中的值是什么,因为您使用的是原始类型。如果你使用泛型,你的代码对我们,你和编译器会更清楚。
然而,很可能一切都很好 - 只是你通过调用toString
将字符串数组转换为某个字符串。 (你没有告诉我们你的意思是“我得到这个” - 在哪里?)
尝试使用:
String output = Arrays.toString(tempa);
查看数组中的值是什么。