java泛型

2017-09-28  本文已影响0人  我爱麦芽糖

java泛型

public void static main(String args[])
{
    List list=new Arraylist();
    list.add("String");
    list.add(100);
  
}
public void static out(List list){
    for(int i=0;i<list.size();i++)
    {
        String var=(String)list.get(i);  //出错 100是正数不是String
        System.out.prinln("var :"+var);
    }
}

编译通过,运行时出错,因为编译时候List 默认是Object 类型所以不会出错,但是运行时类型强制转换就会出错,那么有没有一种方法保证编译时让其类型必须相同不然编译不通过呢?有那就是泛型类型。

简单来说是为了防止当编译时是Object的对象,运行时才知道具体类型的对象强制转换错误而用泛型来代替。

  Box 对象可以接受任何FatherBox的子类对象,并正确的输出。从上面的例子中,我们可以看出泛型相当于Object,只是Object无法在编译时指定类型,而泛型可以。
上一篇下一篇

猜你喜欢

热点阅读