1

我有一个值被声明为的场景

 int[] rate = new int[] {5,6};
 int length = 26;

完成了一些处理并将其存储到 aHashMap<String,Object>中,因此HashMap包含

"rate" ==> {5,6}
"length" ==> 26

当我为“密钥长度”检索此值时,我能够看到相应的值,但看不到“密钥速率”,是否也有正确的方法来检索速率值?

当我尝试时,我System.out.print看不到清晰的值。

4

2 回答 2

3

由于rate是一个数组,你必须使用Arrays.toString(rate)它来查看它的字符串表示。

您看到的难以辨认的值是toString()数组的默认实现。它通常是Classname@hashCode

于 2012-06-22T03:46:41.783 回答
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]);
    }
于 2012-06-22T04:04:41.590 回答