在 Java 中透過反射檢索泛型參數類型
查詢:我們可以使用反射技術來確定泛型參數的類型嗎?
考慮以下因素範例:
public final class Voodoo { public static void chill(List<? extends SpiderMan> aListWithTypeSpiderMan) { // Obtain the Class object for 'SpiderMan' Class typeOfTheList = ???; } public static void main(String... args) { chill(new ArrayList<SpiderMan>()); } }
解:
提取通用參數類型的一種有前途的方法如下:
Class<T> persistentClass = (Class<T>) ((ParameterizedType)getClass().getGenericSuperclass()) .getActualTypeArguments()[0];
這個相當神秘的基於反射的咒語似乎是為我們提供了期望的結果,但目前我還無法更深刻地理解其複雜性。
以上是反射可以揭示 Java 中的通用參數類型嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!