java獲取list泛型類型的字段 java怎么獲取list泛型里的對象類型?
java怎么獲取list泛型里的對象類型?/***獲取字段類型。如果是復合對象,則獲取泛型類型**@param field*@return*/private static class getfield
java怎么獲取list泛型里的對象類型?
/***獲取字段類型。如果是復合對象,則獲取泛型類型**@param field*@return*/private static class getfieldclass(field field){class fieldclazz}=字段.getType()如果(fieldClazz.isAssignableFrom文件( List.class類)){類型fc=field.getGenericType類型()//關鍵是獲取泛型類型if(參數化類型的FC實例)//如果是泛型參數類型{參數化類型Pt=(參數化類型)FC fieldclazz=(類)pt.getActualTypeArguments參數()[0]//獲取泛型中的類類型對象。}我認為在方法中獲取泛型方法的真正泛型類型是可行的,但是通過方法獲取泛型方法的真正泛型類型是不可能的。
首先,Java中的泛型也稱為參數化類型。正確地記住,泛型應該是jdk5引入的特性。泛型的目的是使數據類型能夠作為參數傳入,以便可以動態更改變量的數據類型。
那么什么是通用方法?泛型類型是在方法上聲明的。只有在調用方法時才會傳入實類型。如果在方法中得到它,可以直接調用泛型對象的getClass方法。但是如果你想通過一個方法得到一個泛型方法的真正類型,我不認為它可以實現。因為不調用方法時,不會輸入實數據類型,因此根本無法獲取泛型對應的實類型。
所以我將討論如何在泛型方法中獲得泛型的真實類型。
舊規則,讓我們編寫一個代碼來解釋。泛型方法的示例如下圖所示:
在上圖中,我聲明了一個泛型方法:findfirst,用于獲取數組的第一個元素。
運行結果如下:
以上是我的答案。我希望它能幫助你