泛型的目的是編寫的程式碼可以被更多不同型別的物件重用;
定義泛型方法的規則:
- 所有泛型方法宣告都有一個型別引數宣告部分(由尖括號分隔),該型別引數宣告部分在方法返回型別之前(在下面例子中的<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