泛型(java 1.5 语法基础)

java1.5开始引入泛型,使用起来很方便!我在这里简单介绍一下
1。容器
ArrayList接口在1.5开始变成ArrayList因此使用时可以使用:

java 代码
  1. ArrayList a;   
  2. a=new ArrayList();   
  3. a.add("泛型");   
  4. String s=a.get(0);  



使用泛型可以在容器中放入指定类型的对象。并获取减少类型转换。

1.5之后的容器引入了泛型

2。使用

在类名称后声明:

java 代码
  1. public static class abc{  




然后就可以在类中使用
E e;
E是个什么????
就好像一个未定的类型,所以暂时可以看着一个Object
由类的使用者定义类型!
看下面代码:

  1. package cn.openz.mbook.ModuleCreate;   
  2. import java.util.ArrayList;   
  3.   
  4.   
  5.   
  6. /**  
  7. *  
  8. * @author Administrator  
  9. */  
  10. public class ObjectOut {   
  11.        
  12.     /** Creates a new instance of ObjectOut */  
  13.     public ObjectOut() {   
  14.     }   
  15.     public static void main(String[] arg){   
  16.         ArrayList a=new ArrayList();   
  17.         a.add("asdfsadf");   
  18.         System.out.println(a.get(0));   
  19.         abc a1=new abc("asfdasdf");   
  20.         System.out.println(a1.getE());   
  21.     }   
  22.     public static class abc{   
  23.         public E e;   
  24.         public abc(E o){   
  25.             this.e=o;   
  26.         }   
  27.         public String toString(){   
  28.             return e.toString();   
  29.         }   
  30.         public E getE(){   
  31.             return e;   
  32.         }   
  33.     }   
  34. }   

3。使用让泛型更具体!

java 代码
  1. public static class abcextends  CharSequence>{   
  2.         public E e;   
  3.         public abc(E o){   
  4.             this.e=o;   
  5.         }   
  6.         public String toString(){   
  7.             return e.toString();   
  8.         }   
  9.         public E getE(){   
  10.             return e;   
  11.         }   
  12.     }   

上面的e可以使CharSequence及其子类。
在class abc中e可以调用CharSequence的方法!

还可是更具体的类
请见sun的网站,一般我们仅仅使用上面的内容!


这时E可以是继承CharSequence的类!
如把上面的内部类变为:

 

java 代码

你可能感兴趣的:(JDK)