在运行时获取泛型类

在运行时获取泛型类

我怎样才能做到这一点?

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

到目前为止我尝试的所有东西总是返回类型Object而不是使用的特定类型。


德玛西亚99
浏览 713回答 4
4回答

开心每一天1111

正如其他人所提到的那样,只有在某些情况下通过反思才有可能。如果您确实需要该类型,这是通常的(类型安全的)解决方法模式:public&nbsp;class&nbsp;GenericClass<T>&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;final&nbsp;Class<T>&nbsp;type; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;GenericClass(Class<T>&nbsp;type)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.type&nbsp;=&nbsp;type; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Class<T>&nbsp;getMyType()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;this.type; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP