在Java中,泛型(Generics)是一種允許你編寫可重用、類型安全的代碼的技術。通過使用泛型,你可以編寫一個能夠處理多種數據類型的類或方法,而無需為每種數據類型編寫單獨的代碼。這有助于提高代碼的復用性和可維護性。
以下是如何在Java中使用泛型來提高代碼復用性的示例:
public class GenericBox<T> {
private T item;
public void setContent(T item) {
this.item = item;
}
public T getContent() {
return item;
}
}
在這個例子中,我們創建了一個名為GenericBox
的泛型類,它可以存儲任何類型的對象。我們使用T
作為類型參數,表示這個類的實例可以存儲任何類型的數據。
public class GenericUtility {
public static <T> void printArray(T[] array) {
for (T element : array) {
System.out.println(element);
}
}
}
在這個例子中,我們創建了一個名為printArray
的泛型方法,它可以打印任何類型的數組。我們再次使用T
作為類型參數,表示這個方法可以接受任何類型的數組。
有時候,你可能希望限制泛型類型參數必須滿足某些條件。你可以使用泛型約束來實現這一點。例如,如果你希望GenericBox
類只能存儲實現了Comparable
接口的對象,你可以這樣定義類:
public class GenericBox<T extends Comparable<T>> {
private T item;
// ... 其他代碼保持不變 ...
}
在這個例子中,我們使用extends
關鍵字來限制泛型類型參數T
必須是Comparable<T>
的子類型。這意味著GenericBox
類只能用于存儲可比較的對象。
通過使用泛型,你可以編寫更通用、更靈活的代碼,從而提高代碼的復用性和可維護性。