1

値が次のように宣言されるシナリオがあります

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

いくつかの処理が行われ、これはに格納されるHashMap<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()出力された結果を呼び出しても意味がありません。配列を繰り返して1つずつ出力します。このようなもの:

    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 に答える