Java泛型类“;参数化;通过扩展一个抽象类

Java泛型类“;参数化;通过扩展一个抽象类,java,generics,Java,Generics,我有一个AbstractCacheBlock,我想定义一个类CacheSet,它包含许多扩展AbstractCacheBlock的类。我相信我想要的是 public class CacheSet<? extend AbstractCacheBlock> public class CacheSet初始化泛型类型实例的唯一方法是传递该类的实例,如: public class CacheSet<T> { private Class<T> clazz;

我有一个
AbstractCacheBlock
,我想定义一个类
CacheSet
,它包含许多扩展
AbstractCacheBlock
的类。我相信我想要的是

public class CacheSet<? extend AbstractCacheBlock>

public class CacheSet初始化泛型类型实例的唯一方法是传递该类的实例,如:

public class CacheSet<T>
{
    private Class<T> clazz;

    public CacheSet(Class<T> clazz)
    {
        this.clazz = clazz;
    }

    public void something()
    {
        T t = clazz.newInstance();
    }
}
公共类缓存集
{
私人课堂;
公共缓存集(clazz类)
{
this.clazz=clazz;
}
公之于众
{
T=clazz.newInstance();
}
}

使用
T
创建对象是不可行的。
您可以向可以创建新
T
对象的类添加依赖项。

为什么要在
缓存集中创建实例?你不应该添加已经创建的实例吗?@SotiriosDelimanolis,也许你是对的,我应该在外部初始化它+可能类似于:
public class CacheSet{…}
public class CacheSet<T>
{
    private Class<T> clazz;

    public CacheSet(Class<T> clazz)
    {
        this.clazz = clazz;
    }

    public void something()
    {
        T t = clazz.newInstance();
    }
}