我最近測試了HashMap,並且偶然發現了一個有趣的問題。我有一個數組a3,我已經設置了一些任意的值。然後我把這個數組放入一個HashMap實例映射中。使用HashMap put()
我的問題是,當我分配一個對象實例put(「a3」,a3)的值時,我似乎無法打印出實例的地址。
例如:
HashMap<Object, Object> map = new HashMap<Object, Object>();
int[] a3 = new int[] {1, 2, 3, 4};
map.put("a3", a3);
當我打電話的System.out.println(map.put( 「A3」,A3),我提供的地址,在內存
但是,如果。我創建一個對象實例,然後嘗試打印出該實例我得到空。
Object copy = map.put("a3", a3);
System.out.println(copy);
運行上面的部分給了我一個null值。
爲什麼這兩個看起來相同的陳述給了我不同的結果?
我知道HashMap中沒有值,但我的問題是爲什麼HashMap中沒有值。 put()方法不在HashMap中放置一個值嗎?因此,如果Object實例被分配給HashMap中的任何值,那麼System.out.println()不應該打印出HashMap中任何地址的地址? – Delfino
這就是我要說的。哈希映射中有一個值,但put()不會返回哈希映射。不要做'System.out.println(copy)',做'System.out.println(map.get(「a3」))',你會看到它的存在 – JamesENL
我的解釋是否有意義? – JamesENL