Java泛型的基本介绍与使用

2018-08-21 05:32:56来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

为什么要使用泛型?

  在Java中增加泛型之前,泛型程序设计是用继承来实现的,例如ArrayList,只维护Object引用的数组:

1 public class ArrayList{
2   private Object[] elementData;
3 
4   public Object get(int i){...}
5   public void add(Object o){...}        
6 }

  在这里有一个问题,就是每次使用的时候,都必须进行一次强制类型转换

1 ArrayList list = new ArrayList();
2 ...
3 String name = (String)list.get(0);

  可以发现还没有错误检查,如果是其他类型会检测不到,当添加的时候,可以是任何类的对象

  每次都转换一次很麻烦,用什么解决呢,类型参数!

ArrayList<String> list = new ArrayList<String>();
//在JAVASE 7以后的版本中,可以直接使用一下方法来声明了
ArrayList<String> list = new ArrayList<>();

简单泛型类

public class Pair<T>{
  private T first;
  private T second;

  public Pair(){first = null; second = null;}
  public Pair(T first, T second){this.first = first; this.second = second}

  //get set
...
}

  现在,我们可以像现在这样定义了

Pair<String> test1 = new Pair<>();
Pair<Integer> test2 = new Pair<>();

泛型方法

public class test{
  public static <T> T first(T...a){
   //...
  }
}

  但是需要注意的是,下面这几种,并不是泛型方法,不要混淆

 1 public class test<T>{
 2   private T t;
 3 
 4   //这个不是,只是一个普通的成员的方法
 5   public test(T t){
 6     this.t = t;
 7   }
 8   //这个也不是,只是泛型类是形参
 9   public void add(test<T> object){...}
10 }

吃饭了,下次接着写

 

 

  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)

下一篇:MySql 8.0 安装调试