我有一个班级,
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>;
}
}
我怎样才能做到这一点?有没有其他方法可以实现这一目标?
答案 0 :(得分:3)
您的第二个示例不应编译,返回类型丢失。你想要的是这个:
public static <R> Sample<R> getInstance(Class<R> clazz) {
return new Sample<R>();
}
使用Java 8,您也可以返回new Sample<>()
。