I want to store an arraylist to disk, so I use gson to convert it to string
ArrayList anim=new ArrayList();
Cat c=new Cat
you can use the below code to convert json to corresponding list of objects
TypeToken<List<Animal>> token = new TypeToken<List<Animal>>() {};
List<Animal> animals = gson.fromJson(data, token.getType());
Kotlin example:
val gson = Gson()
val typeToken = object : TypeToken<ArrayList<Animal>>() {}
val list = gson.fromJson<ArrayList<Animal>>(value, typeToken.type)
Faster way:
val gson = Gson()
val array = gson.fromJson<Array<Animal>>(value, Array<Animal>::class.java)
val arrayList = ArrayList(array.toMutableList())