TypeToken demo
时间: 2023-07-23 14:18:51 浏览: 39
以下是一个简单的TypeToken示例:
```java
import com.google.common.reflect.TypeToken;
import java.util.ArrayList;
import java.util.List;
public class TypeTokenDemo {
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
TypeToken<List<String>> typeToken = new TypeToken<List<String>>() {};
System.out.println(typeToken.getType().equals(stringList.getClass()));
}
}
```
在上面的示例中,我们创建了一个TypeToken对象来获取List<String>的泛型类型。通过调用getType()方法,我们可以获取泛型的实际类型。在这里,我们将获取到的泛型类型与List<String>的类对象进行比较,以验证TypeToken是否正确地获取了泛型类型。
相关问题
typetoken获取泛型
要获取泛型类型,可以使用Java反射API中的TypeToken类。TypeToken类是Gson库提供的一个类,可以用于获取泛型类型的Type对象。下面是一个示例:
```java
TypeToken<List<String>> typeToken = new TypeToken<List<String>>() {};
Type type = typeToken.getType();
```
这里创建了一个TypeToken对象,指定了List<String>类型。然后通过调用getType()方法获取了对应的Type对象。这个Type对象可以用于解析JSON字符串中的泛型类型。
TypeToken下的getType方法是什么
TypeToken类中的getType方法是用于获取指定类型的Type对象的静态方法。它的定义如下:
```
public static <T> Type getType(Class<T> type)
```
该方法的参数是一个Class对象,返回值是一个Type对象。它可以用来获取任何类型的Type对象,包括参数化类型、泛型数组、通配符类型等。
例如,要获取一个参数化类型List<String>的Type对象,可以使用以下代码:
```
Type type = new TypeToken<List<String>>() {}.getType();
```
这里使用了匿名内部类来获取List<String>的Type对象。在大括号内部可以添加任意代码,因为这个类不会被实例化。通过调用getType方法获取Type对象后,就可以将其传递给Gson进行序列化和反序列化操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)