我有一个值被声明为
的场景 int[] rate = new int[] {5,6};
int length = 26;
完成了一些处理,并将其存储到HashMap<String,Object>
中,因此HashMap
包含
"rate" ==> {5,6}
"length" ==> 26
当我检索“密钥长度”时,我能够看到相应的值而不是“密钥率”,是否有正确的方法来检索速率值?
当我尝试System.out.print
时,我看不到清晰的价值观。
答案 0 :(得分:3)
由于rate
是一个数组,因此您必须使用Arrays.toString(rate)
来查看其字符串表示形式。
您看到的难以辨认的值是数组的默认toString()
实现。它通常是Classname@hashCode
答案 1 :(得分:0)
System.out.print(parameter)
将始终在传入的参数上调用toString()
,在您的情况下是一个数组,调用toString()
打印结果没有意义,您将迭代数组并且一个接一个地打印出来。像这样的东西:
int[] rate = (int[]) hashmap.get("rate");
for (int i = 0, len = rate.length; i < len; i++) {
System.out.println(rate[i]);
}