Java-在运行时获取类的通用类型

发布于 2021-02-02 23:08:49

我该如何实现?

public class GenericClass<T>
{
    public Type getMyType()
    {
        //How do I return the type of T?
    }
}

到目前为止,我尝试过的所有操作始终返回类型,Object而不是所使用的特定类型。

关注者
0
被浏览
82
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    正如其他人所提到的,只有在某些情况下才能通过反思来实现。

    如果你确实需要类型,这是通常的(类型安全的)解决方法:

    public class GenericClass<T> {
    
         private final Class<T> type;
    
         public GenericClass(Class<T> type) {
              this.type = type;
         }
    
         public Class<T> getMyType() {
             return this.type;
         }
    }
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看