dm356
发贴: 1
积分: 0
|
于 2005-09-27 20:16
下面这段代码:很是奇怪 import java.util.*;
public class Hashtabletest {
public static void main(String args[]) { Hashtable hs = new Hashtable(); for(int i = 0; i < 10; i++) hs.put(new Integer(i), new String(i + "aa")); if(hs.containsKey(new Integer(0))) System.out.println("OK"); else System.out.println("SORRY"); System.out.println((new Integer(1)) == (new Integer(1))); Hashtable hs1 = new Hashtable(); for(int i = 0; i < 10; i++) hs1.put(new hashelement(i), new String(i + "aa")); if(hs1.containsKey(new hashelement(0))) System.out.println("OK"); else System.out.println("SORRY"); } }
class hashelement { int n = 0; hashelement(int i) { n = i; } }
结果是: OK false SORRY 为什么Integer与自定义的类不同产生的结果不同,如果想使自定义的类也作出Integer的结果,怎样修改自定义的类?
请各位赐教!
bluecrystal edited on 2005-09-27 23:12
|