使用類別參數實例化Java 中的泛型類型
Java 中的泛型提供了一種便捷的方式來定義操作各種類型的類別和方法資料類型。然而,實例化泛型類型的物件可能有點棘手。
假設你有一個像這樣的類別聲明:
public class Abc<T> { public T getInstanceOfT() { // I want to create an instance of T and return the same. } }
如何在getInstanceOfT 方法?
解:
關鍵實例化泛型類型是將實際型別作為參數傳遞給泛型類別。這可以使用Class
public class Abc<T> { public T getInstanceOfT(Class<T> aClass) { return aClass.newInstance(); } }
在此修改後的程式碼中, getInstanceOfT 方法接受 Class
異常處理:
重要的是要注意,您需要在程式碼中新增例外處理,因為 newInstance() 可以拋出 InstantiationException或IllegalAccessException.
執行階段類型:
將實際類型作為參數傳遞是必要的,因為 T 的類型在編譯時未知。編譯後,字節碼不包含任何有關實際類型的信息,因此必須在運行時明確提供。
以上是如何使用類別參數實例化 Java 中的泛型類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!