-泛型類(Generic Class):
泛型類允許我們在定義類時使用型別參數,這些參數在實例化時可以指定具體的型別。以下是使用泛型類的範例:
java
class Box { // T 是型別參數
private T item;
public void setItem(T item) {
this.item = item;
}
public T getItem() {
return item;
}
}
public class Main {
public static void main(String[] args) {
Box stringBox = new Box<>();
stringBox.setItem("Hello");
System.out.println(stringBox.getItem()); // 輸出: Hello
Box<Integer> integerBox = new Box<>();
integerBox.setItem(123);
System.out.println(integerBox.getItem()); // 輸出: 123
}
}
在這個範例中,Box是一個泛型類,當我們創建 stringBox時指定了 T為 String,而當我們創建 integerBox時指定 T為 Integer。這讓 Box可以靈活地處理不同型別的對象。
-泛型方法(Generic Method):
泛型方法允許我們在方法層級使用型別參數,這樣可以讓方法更加通用化。範例如下:
java
public class Utility {
public static void printArray(T[] array) { // T 是方法的型別參數
for (T element : array) {
System.out.println(element);
}
}
public static void main(String[] args) {
String[] stringArray = { "apple", "banana", "cherry" };
Integer[] intArray = { 1, 2, 3 };
printArray(stringArray); // 輸出: apple, banana, cherry
printArray(intArray); // 輸出: 1, 2, 3
}
}
這裡 printArray是一個泛型方法,它能接受任何型別的陣列並逐一列印出來。在定義方法時,我們使用了來聲明泛型型別。