java获取泛型的类型_Java 如何获取泛型类型

前言

在 Java 开发中,获取泛型这种操作虽不是很常用,但有时确实必须的,比如 将Json 字符串反序列化成对象的时候。今天就来介绍这个操作。

场景

假设我们定义了一个类,内部有一个数据结构,泛型为 T,当我们输入一个 Json 字符串,想把这个 Json 反序列化成对象,那么此时,我们就需要知道这个泛型的类型。

具体代码场景如下:

抽象父类(包含泛型):

abstract class Base> {

T data;

public Base(String json) {

this.data = JsonUtil.toObject(json, deSerializable());

}

}

我们想在该类中输入 Json,并将字符串反序列化成对象。比如下面这样:

/**

* 子类定义了父类

*/

class Son extends Base {

public Son(String json) {

super(json);

}

}

/**

* 数据类型继承Comparable

*/

class DataClass implements Comparable {

@Override

public int compareTo(DataClass o) {

return 0;

}

}

上面的例子中&

你可能感兴趣的:(java获取泛型的类型)