歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

什麼是Java泛型

什麼是泛型呢?

我們首先寫一個最簡單的泛型類來說明:

  1. public class Generics<T> { //T是type的簡稱,可以使用任何名稱代替   
  2.     private T o; //泛型成員變量   
  3.     public Generics(T o){  
  4.         this.o=o;  
  5.     }  
  6.     public T getObject() {  
  7.         return o;  
  8.     }  
  9.     public void setObject(T o) {  
  10.         this.o = o;  
  11.     }  
  12.     public String getType() {  
  13.         return o.getClass().getName();  
  14.     }  
  15. }  

這個泛型類包括自己的構造函數,以及get、set方法和一個getType方法。

我們可以這樣使用這個類:

  1. public class GenericsDemo{  
  2.     public static void main(String[] args){  
  3.           
  4.         Generics<Integer> intObject=new Generics<Integer>(1);  
  5.         System.out.println("the value of intObject is " + intObject.getObject());  
  6.         System.out.println("the type of intObject  is " + intObject.getType());  
  7.   
  8.         Generics<String> stringObject=new Generics<String>("hi, generics!");  
  9.         System.out.println("the value of stringObjectis " + stringObject.getObject());  
  10.         System.out.println("the type of stringObjectis " + stringObject.getType());  
  11.     }  
  12. }  
我們可以使用這個泛型類的各種類類型的版本(如例子中的Integer, String, 以及所有Object類及其子類)。不過泛型並不支持基本數據類型。

很明顯,使用java泛型,我們可以省掉強制類型轉換。編譯器會保留參數的類型信息,執行類型檢查,執行類型轉換操作。因此開發人員不需要自己確保類型轉換的安全性,而把這個交給編譯器去做。

Copyright © Linux教程網 All Rights Reserved