java 泛型

1.是什么

    是jdk1.5 出现的安全机制,能提高代码的健壮性。

   泛型是提供编译时的安全检查,是给编译器用的,编译生成的class文件中泛型将会去掉(泛型的擦除),也就是说运行时没有泛型,擦除之后会有jdk补偿机制,根据元素获取元素的类型,然后进行转换。

  擦除的原因是兼容以前的类加载器。

2.好处

  1.将运行时的问题转到了编译时暴露

  2.避免了代码类型强制转换的麻烦

3.什么时候用泛型

  1.当操作的引用数据类型不确定时

  2.用于接收具体引用数据类型的参数范围

 

4.泛型使用实例:

 1.泛型接口的定义和使用

      interface Show<T,U>{  

         void show(T t,U u);  

}  

class ShowTest implements Show<String,Date>

{ 

   public void show(String str,Date date)

   {  

        System.out.println(str);  

        System.out.println(date);  

     }  

 }  

 

2.泛型方法的定义和使用

  public static void main(String[] args) throws ClassNotFoundException {  

        String str=get("Hello", "World");  

       System.out.println(str);  

    }  

    public static <T, U> T get(T t, U u) 

   {

       if (u != null)

        return t;

      else

        return null;  

   }  

 3.为泛型变量添加类型限定

public static <T extends Comparable> T get(T t1,T t2) { //添加类型限定  

        if(t1.compareTo(t2)>=0);

          return t1;  

    } 

 类型限定在泛型类、泛型接口和泛型方法中都可以使用,不过要注意下面几点:

 

1、不管该限定是类还是接口,统一都使用关键字 extends

2、可以使用&符号给出多个限定,比如    public static <T extends Comparable&Serializable> T get(T t1,T t2)  

posted @ 2016-05-14 15:51  英特费斯  阅读(59)  评论(0编辑  收藏  举报