Java的包装类如何存储在HashMap中?

请参见以下代码段。

Integer xInteger = new Integer(1);
map.put('c', xInteger);
xInteger++;
System.out.println(xInteger);  // 2
System.out.println(map.get('c')); // 1
System.out.println(xInteger == map.get('c')); // false

我知道HashMap使用Node数组存储K,V对象。但是在这里,哈希表似乎只存储Integer的原始值?因为从HashMap检索的值对象甚至不是我们之前放置的对象。有谁知道hashmap如何处理包装类?