将泛型作为参数传递给TypeToken

时间:2019-03-31 07:14:46

标签: java generics

我创建了一个简单的静态实用程序函数,该函数应返回Type

课程-ResponseFilter

    public static <T> Type getType(){
    return new TypeToken<List<T>>(){}.getType();
}

所以当我这样调用上面的方法

ResponseFilter.<EmployeeDTO>getType()

关于我创建Type的时间,我没有得到预期的对象,如下面的链接所示。

我应该如何处理将通用类型传递给处理并返回发送的确切类型的函数。

引自: https://stackoverflow.com/a/54447598/3333878

编辑1:这是我通过T作为参数得到的结果,尽管它从未使用过 enter image description here

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找:

public static <T> Type getType(T t) {
    return new TypeToken<List<T>>() {
    }.getType();
}

现在称呼它

 ResponseFilter.getType(EmployeeDTO.class)