最近在项目中看到了一些值用HashTable来传递/存放数据。
Debug时发现有些值是像下面这个图中这样存放的。
一开始以为是HashTable中再放了一个HashTable,后来发现并不是,而是放了一个HashTable[]
Hashtable arequest=new Hashtable();
Hashtable[] btest=new Hashtable[0];
arequest.put("name", "zhong");
arequest.put("age", "20");
arequest.put("test", btest);
arequest.put("sex", "male");
把arequest输出,就会发现test的值是[Ljava.util.Hashtable;@15db9742
但是一般来说是不会放个空的HashTable[]在数据里面,既然出现了肯定是有意义的。
public static void main(String[] args) {
Hashtable arequest=new Hashtable();
Hashtable[] btest=new Hashtable[1];
arequest.put("name", "zhong");
arequest.put("age", "20");
arequest.put("sex", "male");
btest[0]=htadd();
arequest.put("test", btest);
System.out.println("btest[0]= "+btest[0]);
System.out.println("arequest= "+arequest);
}
public static Hashtable htadd() {
Hashtable a=new Hashtable();
a.put("test1", "aaaa");
a.put("test2", "bbbb");
return a;
}
输出:
上面的代码仅仅只是展示如何简单的给HashTable[]赋值,再把HashTable[]放进HashTable中。