在Java中,泛型是一種允許你在編譯時限制和指定類或方法參數的類型的方式。泛型的主要優點是提供了類型安全和避免類型轉換的錯誤。以下是如何在Java類和方法中使用泛型的示例:
public class GenericBox<T> {
private T item;
public void setItem(T item) {
this.item = item;
}
public T getItem() {
return item;
}
}
在這個例子中,我們創建了一個名為GenericBox
的泛型類,它接受一個類型參數T
。這個類有一個私有成員變量item
,其類型為T
。我們還提供了setItem
和getItem
方法來設置和獲取item
的值。
public class GenericMethods {
public static <T extends Comparable<T>> T findMax(T a, T b) {
return a.compareTo(b) > 0 ? a : b;
}
public static void main(String[] args) {
Integer max = findMax(3, 5);
System.out.println("Max value: " + max); // 輸出 "Max value: 5"
}
}
在這個例子中,我們創建了一個名為findMax
的泛型方法,它接受兩個類型參數T
,這兩個類型參數都必須實現Comparable
接口。這個方法返回兩個參數中的最大值。
注意,在調用泛型方法時,不需要指定具體的類型參數,因為編譯器可以根據實際參數類型自動推斷出來。在上面的例子中,我們調用了findMax
方法并傳入了兩個Integer
類型的參數,編譯器會自動推斷出T
的類型為Integer
。