程序中的每个向下类型转换对于 ClassCastException 而言都是潜在的危险,应当尽量避免它们
泛型的出现弥补了这个缺陷Hashtable h = new Hashtable();
h.put(new Integer(0), "value");
String s = (String)h.get(new Integer(0));
System.out.println(s);为Hashtable声明泛型就除去了以上第三行不必要的数据类型转换了

解决方案 »

  1.   

      大家晚上好
    我是java的初学者 希望
    大家给点例题
    我也学习学习
      

  2.   

    package example;import java.util.ArrayList;
    import java.util.List;class ghy_test {
    private String name; public void setName(String name) {
    this.name = name;
    } public String getName() {
    return name;
    }
    }public class ghyghost { /**
     * @param args
     */
    public static void main(String[] args) {
    // /用泛型的效果--list的get方法取出来的对象不需要强制转换
    ghy_test ghy_test1 = new ghy_test();
    ghy_test1.setName("ghyghost1");
    ghy_test ghy_test2 = new ghy_test();
    ghy_test2.setName("ghyghost2"); List<ghy_test> list = new ArrayList();
    list.add(ghy_test1);
    list.add(ghy_test2); System.out.println(list.get(0).getName());
    System.out.println(list.get(1).getName()); // /不用泛型的效果--list的get方法取出来的对象需要强制转换
    List no_list = new ArrayList();
    no_list.add(ghy_test1);
    no_list.add(ghy_test2); System.out.println(((ghy_test) list.get(0)).getName());
    System.out.println(((ghy_test) list.get(1)).getName()); }
    }
      

  3.   


    package example;import java.util.ArrayList;
    import java.util.List;class ghy_test {
    private String name; public void setName(String name) {
    this.name = name;
    } public String getName() {
    return name;
    }
    }public class ghyghost { /**
     * @param args
     */
    public static void main(String[] args) {
    // /用泛型的效果--list的get方法取出来的对象不需要强制转换
    ghy_test ghy_test1 = new ghy_test();
    ghy_test1.setName("ghyghost1");
    ghy_test ghy_test2 = new ghy_test();
    ghy_test2.setName("ghyghost2"); List<ghy_test> list = new ArrayList();
    list.add(ghy_test1);
    list.add(ghy_test2); System.out.println(list.get(0).getName());
    System.out.println(list.get(1).getName()); // /不用泛型的效果--list的get方法取出来的对象需要强制转换
    List no_list = new ArrayList();
    no_list.add(ghy_test1);
    no_list.add(ghy_test2); System.out.println(((ghy_test) list.get(0)).getName());
    System.out.println(((ghy_test) list.get(1)).getName()); }
    }
      

  4.   

    以前没有的时候,总有人说,为什么java没有,有该多好啊!
    后来有了,好处就是没有人再去这么说了,因为大家都吐得不行了.sun耳根清净了
      

  5.   

     Java语言引入泛型的好处是安全简单,避免了类型转换带来的麻烦以及可能出现的错误