将一个对象的值存储到另一个对象中

时间:2013-07-31 09:00:26

标签: java hashmap

我正在尝试以下代码: -

HashMap<Integer,Integer[]> possibleSeq = new HashMap<Integer,Integer[] >();
        possibleSeq.put(0,new Integer[]{1,4,5});
        possibleSeq.put(1,new Integer[]{0,4,5,2,6});
        Integer[] store = possibleSeq.get(0);
        for(int i=0;i<store.length;i++)
        {
            System.out.print(store[i] + ' ');
        }

输出是: -

333637

但由于我将key为0时的值等同于 store 变量,我打算将1 4 5作为输出。所以我推导出Integer[] store = possibleSeq.get(0);这不是在商店中存储possibleSeq.get(0)元素的正确方法。那我应该怎么做?

4 个答案:

答案 0 :(得分:13)

你的问题是你要将char ' '(转换为int 32)添加到store [i],这是int。

请改用双引号。

System.out.print(store[i] + " ");

答案 1 :(得分:5)

System.out.print(store[i] + ' ');

当您打印(store[i] + ' ')时,此处' 'char,它与整数值连接并打印,因此它变为(1 + 32)ascii space of space({{ 1}})是32.这是33,依此类推......

试试这个 -

有效 -

System.out.print((store[i]) + " ");

答案 2 :(得分:0)

您使用单引号而不是双引号。

使用此System.out.print(store[i] + " ");

答案 3 :(得分:0)

  System.out.print(store[i] + ' ');// take a look at this store[0]=1 
                                      and char ' ' is 32 

然后(1 + 32)你会得到。

所以改变你的代码

System.out.print(store[i] + " ");