今天在写代码的时候,发现下面的问题,我用Hashtable来做二级缓存的时候发现的,那位高手指点一下为什么?
package com.srk.test;import java.util.HashMap;
import java.util.Hashtable;public class HashtableTest {
public static void main(String[] args){
Hashtabledatabase = new Hashtable();
int[] indexInfo = new int[]{1,2,3,4,5,6,7,8};
database.put("k2", indexInfo);
indexInfo[1]=10;
database.put("k3", indexInfo);

}}
上面的列子中,为什么当执行到database.put("k3", indexInfo);

的时候会改变key="k2"的值?最后两个key的值均为{1,10,3,4,5,6,7,8}
请问这是为什么呢?