Java 泛型

阿里瓜瓜發表於2017-05-02

 

泛型的目的是編寫的程式碼可以被更多不同型別的物件重用;

定義泛型方法的規則:

  • 所有泛型方法宣告都有一個型別引數宣告部分(由尖括號分隔),該型別引數宣告部分在方法返回型別之前(在下面例子中的<E>)。
  • 每一個型別引數宣告部分包含一個或多個型別引數,引數間用逗號隔開。一個泛型引數,也被稱為一個型別變數,是用於指定一個泛型型別名稱的識別符號。
  • 型別引數能被用來宣告返回值型別,並且能作為泛型方法得到的實際引數型別的佔位符。
  • 泛型方法體的宣告和其他方法一樣。注意型別引數只能代表引用型型別,不能是原始型別(像int,double,char的等)
public class GenericMethodTest
{
   // 泛型方法 printArray                         
   public static < E > void printArray( E[] inputArray )
   {
      // 輸出陣列元素            
         for ( E element : inputArray ){        
            System.out.printf( "%s ", element );
         }
         System.out.println();
    }
 
    public static void main( String args[] )
    {
        // 建立不同型別陣列: Integer, Double 和 Character
        Integer[] intArray = { 1, 2, 3, 4, 5 };
        Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };
        Character[] charArray = { 'H', 'E', 'L', 'L', 'O' };
 
        System.out.println( "整型陣列元素為:" );
        printArray( intArray  ); // 傳遞一個整型陣列
 
        System.out.println( "\n雙精度型陣列元素為:" );
        printArray( doubleArray ); // 傳遞一個雙精度型陣列
 
        System.out.println( "\n字元型陣列元素為:" );
        printArray( charArray ); // 傳遞一個字元型陣列
    } 
}

程式碼執行結果:

整型陣列元素為:
1 2 3 4 5 

雙精度型陣列元素為:
1.1 2.2 3.3 4.4 

字元型陣列元素為:
H E L L O

相關文章