我所試圖做的事:聲明泛型類型<?>
getMapType(String.class,String.class); //returns me a MapType of Map<String,String>
我已經試過:
public static <K extends Class<?>, V extends Class<?>> MapType getMapType(K keyClass, V valueClass) {
return objectMapper.getTypeFactory().constructMapType(HashMap.class, keyClass,valueClass);
}
聲明K,V時,這給了我一個警告正在擴大班級。
The type parameter V should not be bounded by the final type Class<?>. Final types cannot be further extended
我知道這意味着任何類不能擴展類,因爲它的final類。如果我刪除extends Class<?>
,則方法constructMapType(...)將因類型而失敗。 我的問題是我如何實現我的方法,所以我沒有得到這個警告?
我認爲我們的目標是有點不同,因爲它不是關於構建'Map'實例,但創建'MapType',這是數據綁定所需的Jackson類型表示,讓Jackson知道將數據綁定到(或有時來自)的類型的細節。 – StaxMan