簡體   English   中英

如何傳遞要返回的列表的類型?

[英]How can I pass the type for the List I want return?

我的情況:

我得到一個jsonArray,我想將此jsonArray轉換為所需類型的列表。 List<Integer>List<String>等。

假設我有以下方法:

public static List jsonArrayToJavaList(JsonArray jsonArray, TYPE TYPE) {
    return new Gson().fromJson(jsonArray, new TypeToken<List<TYPE>>() {}.getType());
}

如何傳遞TYPE

我想要這樣做是因為其他人可以使用此方法,並且我不想為我想要的每種列表類型重復此代碼...

我也嘗試過:

public static List jsonArrayToJavaList(JsonArray jsonArray, final Class c) {
    return new Gson().fromJson(jsonArray, new TypeToken<List<c>>() {}.getType());
}

我看到錯誤提示未知的c類。

Java尚未提供表示通用類型的正式方法 javadoc中所述,提供了TypeToken以便表示這些類型。 因此,簡單的解決方案是將其用作jsonArrayToJavaList方法的參數。 但是,這只是對fromJson調用的間接調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM