相关疑难解决方法(0)

如何获取泛型类型T的类实例

我有一个泛型课,Foo<T>.在一个方法中Foo,我想得到类型为T的类实例,但我无法调用T.class.

使用它的首选方法是什么T.class

java generics

659
推荐指数
12
解决办法
64万
查看次数

在运行时获取泛型类

我怎样才能做到这一点?

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

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

java generics reflection

474
推荐指数
16
解决办法
53万
查看次数

Java泛型 - 获取类?

我有一个列表,编程如下:public class MyList<T>.有没有办法使用T变量来获取类的名称(所以我可以从内部MyList知道T是字符串,套接字等)?

编辑:没关系,在这里找到答案.

java generics

77
推荐指数
3
解决办法
13万
查看次数

如何确定泛型类?

我正在创建一个泛型类,并且在其中一个方法中我需要知道当前使用的泛型类的Class.原因是我调用的方法之一将此作为参数.

例:

public class MyGenericClass<T> {
  public void doSomething() {
    // Snip...
    // Call to a 3rd party lib
    T bean = (T)someObject.create(T.class);
    // Snip...
  }
}
Run Code Online (Sandbox Code Playgroud)

显然,上面的示例不起作用并导致以下错误:类型参数T的非法类文字.

我的问题是:有人知道一个很好的选择或解决方法吗?

java generics

60
推荐指数
3
解决办法
6万
查看次数

标签 统计

generics ×4

java ×4

reflection ×1