打印HashMap值(这些值是数组)错误

use*_*202 3 java arrays hashmap

我一直在努力寻找与我相似的问题将近2天希望我能找到答案,但不,我不能这样,我决定在这里问你们.

这种方法是打印出a的所有键和值HashMap<String, int[]> ratingmap.所以键是Strings,值是数组.我一直在努力,下面是我的代码.

public void showRatingsMap() {
    for (String customer: ratingmap.keySet()) {
        String key = customer.toString();
        int[] value = ratingmap.get(key);
        System.out.println("Customer: " + key + " - Rating: " + value);
    }
}
Run Code Online (Sandbox Code Playgroud)

我现在真的很困惑,因为打印出的结果看起来像这样:

Customer: Douglas Anderson - Rating: [I@4f5b571e
Customer: Sidney - Rating: [I@75b49b45
Customer: Apollo - Rating: [I@243e0b62
Customer: Leslie - Rating: [I@655d6184
Run Code Online (Sandbox Code Playgroud)

正如我所期望的那样,评级是一个数组,但它总是表现为上面奇怪的组合:[I @ 2b9fd66a

有人可以指出导致问题的错误吗?

Pau*_*ora 6

数组不会覆盖默认toString()方法.为了打印其内容的表示,您可以使用Arrays.toString(int[]).

见我的答案在这里了解更多详情.