从另一个类创建泛型类对象

时间:2017-03-21 08:22:38

标签: java oop generics

我有一个班级,

class Sample<T>{
//Implementation
}

我想从另一个clas创建该类的对象。以下代码示例有效。

class SampleManager{
   public static <R>  Sample<R> getInstance(){
      return new Sample<R>();
   }
}

但我想把这个课作为一个论点来传递。像,

class SampleManager{
   public static  Sample getInstance(Class clazz){
      return new Sample<clazz>;
   }
}

我怎样才能做到这一点?有没有其他方法可以实现这一目标?

1 个答案:

答案 0 :(得分:3)

您的第二个示例不应编译,返回类型丢失。你想要的是这个:

public static <R> Sample<R> getInstance(Class<R> clazz) {
    return new Sample<R>();
}

使用Java 8,您也可以返回new Sample<>()