リフレクションを使用した動的 ArrayList 項目型を使用した Gson TypeToken
Java では、Gson の TypeToken を使用してパラメータ化された型を表すことができます。特定のシナリオでは、実行時にリフレクションを使用して ArrayList 項目のタイプを動的に指定する必要があります。これは次のようにして実現できます。
実行時に ArrayList の項目タイプを指定するには、TypeToken#getParameterized メソッドを使用できます。このメソッドは、生の型と可変数の型引数を受け入れます。この場合、生の型 ArrayList.class と動的に決定された型を型引数として使用します。
たとえば、次のスニペットは、動的な ArrayList 項目型を使用して TypeToken を作成する方法を示しています。
import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; public class Example { public static void main(String[] args) { // Dynamically determine the ArrayList item type Class<?> itemType = Class.forName("myPackage.myClass"); // Create the TypeToken with the dynamic item type Type typeOfObjectsList = TypeToken.getParameterized(ArrayList.class, itemType).getType(); // Use the TypeToken to convert a JSON string to a List of objects String json = "..."; List<?> objectsList = new Gson().fromJson(json, typeOfObjectsList); } }
この例では、itemType は実行時に動的に決定され、getParameterized を使用して TypeToken が作成されます。結果の TypeToken を使用して、JSON 文字列を指定された項目タイプを持つオブジェクトのリストに変換できます。
以上がJava で動的に決定される ArrayList 項目タイプで Gson の TypeToken を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。