我正在使用Hashtable我的java程序.看到异常行为,我感到很惊讶Hastable.下面是我的代码(这不是我的最终代码,我只是创建了一个新的简单项目,其代码运行异常)
Hashtable<char[], char[]> h1 = new Hashtable<char[], char[]>();
char[] key = Integer.toString(12).toCharArray();
char[] val = Integer.toString(21).toCharArray();
h1.put(key, val);
System.out.println(h1.containsKey(Integer.toString(12).toCharArray()));// Should print true, since 12 is there in Hashtable
Run Code Online (Sandbox Code Playgroud)
您不能使用这样的数组作为映射键,因为数组具有默认的,基于引用相等的Object实现equals和hashCode.使用String键作为键可以使您的程序按需运行.
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |