在Java中,使用Gson庫可以很容易地實現(xiàn)多態(tài)處理。多態(tài)是指允許一個對象具有多種形態(tài)。在Java中,多態(tài)是通過繼承和接口實現(xiàn)的。下面是一個簡單的例子,展示了如何使用Gson處理多態(tài)類。
首先,我們創(chuàng)建一個基類Animal
:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
然后,我們創(chuàng)建兩個子類Dog
和Cat
,它們分別繼承自Animal
類:
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
}
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
}
現(xiàn)在,我們可以創(chuàng)建一個Animal
類型的列表,其中包含Dog
和Cat
對象:
List<Animal> animals = new ArrayList<>();
animals.add(new Dog("Buddy"));
animals.add(new Cat("Kitty"));
接下來,我們使用Gson庫將這個列表序列化為JSON字符串:
Gson gson = new Gson();
String json = gson.toJson(animals);
System.out.println(json); // 輸出:[{"name":"Buddy"},{"name":"Kitty"}]
最后,我們可以將JSON字符串反序列化為Animal
類型的列表:
List<Animal> deserializedAnimals = gson.fromJson(json, new TypeToken<List<Animal>>() {}.getType());
for (Animal animal : deserializedAnimals) {
System.out.println(animal.getName()); // 輸出:Buddy 和 Kitty
}
通過這種方式,我們可以使用Gson庫在Java中實現(xiàn)多態(tài)處理。