标题:为什么不能强制转换 成Hashtable
只看楼主
kkllchun
Rank: 2
等 级:论坛游民
帖 子:55
专家分:13
注 册:2007-9-15
结帖率:70%
已结贴  问题点数:20 回复次数:1 
为什么不能强制转换 成Hashtable
import java.util.*;
public class TestHashtable {
   
    public static void main(String [] args){
        Hashtable numbers= new Hashtable();
        numbers.put(new MyKey("zhangsan",18),new Integer(1));
        numbers.put(new MyKey("lisi",19),new Integer(2));
        numbers.put(new MyKey("wangwu",20),new Integer(3));
        Enumeration e = numbers.keys();
        while(e.hasMoreElements()){
            MyKey key = (MyKey)e.nextElement();
            System.out.print(key + "=");
            System.out.println(numbers.get(key));
        }
         MyKey key1 = new MyKey("zhangsan",18);
         System.out.println(numbers.get( key1 ));
         MyKey key2 = (Hashtable)new MyKey("lisi",110);//为什么不能用这种转换呢
        
        System.out.println(numbers.get( key1 ));     //我理解成这样就不用在MyKey中写Hashcode方法了 因为 已经强制转换成Hashtable已经有这个方法
}
// -----------------------------------------------------------------
public class MyKey  {
    private String name = null;
    private int age = 0;
   
    public boolean equals(Object obj){
        if(obj instanceof MyKey){
            MyKey objTemp = (MyKey)obj;
            if(name.equals(objTemp.name) && age == objTemp.age){
                return true;
            }
            else{
                return false;
            }
        }
        else{
            return false;
        }
    }

    public int hashCode(){
        return name.hashCode() + age;
    }

    public MyKey(String s ,int i ){
        this.name = s;
        this.age = i;
    }
    public String toString(){
        return name + "XP" + age;
    }
}
搜索更多相关主题的帖子: Hashtable 
2010-02-12 09:21
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
得分:20 
为什么可以强制转换为hashtable呢?你写的Mykey与hashtable并没有继承关系,如果要这样操作你可以继承java.util.Dictionary类就可以了
2010-02-15 20:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-297611-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.098248 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved