Java中泛型 使用

来源:互联网 发布:淘宝网男鞋休闲鞋2016 编辑:程序博客网 时间:2024/06/06 05:55

泛型: 1.5  之后出现  提高安全  
     1      泛型 确定 集合容器的类型。
     2      <> 接收一种数据类型(引用数据类型)
               ArrayList<String> lis = new ArrayList<String>()
               目的: 将运行时期的 错误 转化到 编译时期,提高了安全性!
    3      不需要 强制类型转换.  更加安全!


泛型的 擦除
          泛型在编译时期使用!使用完毕直接擦除。
          编译完的时候 不存在 泛型。     
          

好处:
     使用了 泛型,不自需要强制类型转换?(多种数据类型)
     为什么?  因为容器中只有一种数据类型。 取出数据之后,在处理数据细节!String 就是 很重要的。在现实的开发中。


泛型自定义的类:
//使用泛型class Tools<T>{private T obj;public void setObject(T obj){this.obj = obj;}public T getObject(){return this.obj;}}


泛型应用在方法上:
class Test<E>{//泛型用在方法上//当类中的某个方法所使用的类型只有在类上的类型确定了才能确定时,就在方法上使用//泛型//否则不用泛型public void func(E e){System.out.println(e);}//该方法单独使用泛型:方法使用的类型不确定,而且什么类型都行//这个方法被调用时,类型才确定public <T> void show(T e){System.out.println(e);}    //静态是随着类的加载而加载,这是不存在类型,所以静态方法只能自己定义泛型public static <W> void function(W e)//Test.function()  {System.out.println(e);}public void ff(int a,int b){   System.out.println(a+b);}}


泛型 定义在接口上:
//泛型用在接口上interface inter<T>{public void show(T t);}class Test implements inter<String>{public void show(String t){}}class Demo<E>  implements inter<E>{    public void show(E t){System.out.println(t);}}class  Demo9{public static void main(String[] args) {Demo<String> d = new Demo<String>();d.show(99);// error}}



     

0 0