Java 泛型类的嵌套泛型参数';对象don';没有道理

Java 泛型类的嵌套泛型参数';对象don';没有道理,java,generics,Java,Generics,typeClassis有一个泛型参数,即对象所表示的类的类型,这非常有意义 但是,当处理本身具有泛型参数的类型的类对象时,例如,List,我们可以通过两种可能的方式来处理: 我们将其称为类,这是没有意义的:列表的泛型参数失去了意义,因为我们只引用了它的(静态)类。甚至类> 更新 我在一些代码中遇到了这个问题,在这些代码中,用户应该能够为数据库连接提供自定义类。这个类应该扩展DoodleDatabaseMap,它是一个抽象类,实现了Map 我认为上面的描述不够精确。当我需要保存pass类对象或将它

type
Class
is有一个泛型参数,即对象所表示的类的类型,这非常有意义

但是,当处理本身具有泛型参数的类型的类对象时,例如,
List
,我们可以通过两种可能的方式来处理:

  • 我们将其称为
    ,这是没有意义的:
    列表
    的泛型参数失去了意义,因为我们只引用了它的(静态)类。甚至
    类>

    更新

    我在一些代码中遇到了这个问题,在这些代码中,用户应该能够为数据库连接提供自定义类。这个类应该扩展
    DoodleDatabaseMap
    ,它是一个抽象类,实现了
    Map

    我认为上面的描述不够精确。当我需要保存pass类对象或将它们分配给变量时,它会变得棘手。我的API方法如下所示:

    public static void setDatabaseMap(Class<? extends DoodleDatabaseMap> databaseMap) {
        // ...
    }
    
    这会导致错误消息:
    类型DoodleDebug中的方法setDatabaseMap(类>)不适用于参数(类)

    这个类应该扩展DoodleDatabaseMap,它是一个抽象类,实现了Map

    然后你可以改变这个

    static void setDatabaseMap(@SuppressWarnings("rawtypes") 
        Class<DoodleDatabaseMap> databaseMap)
    
    static void setDatabaseMap(@SuppressWarnings(“rawtypes”)
    类数据库映射)
    
    使用类似的类型

    static void setDatabaseMap(Class<DoodleDatabaseMap<?>> databaseMap)
    

    static void setDatabaseMap(类提供了一段特定的代码,您需要使用其中一种方法。使用
    @SuppressWarnings(“rawtypes”)时,我看不出有任何问题
    正确。
    这个问题有没有干净的解决方案?
    =>这意味着有问题,但我看不出来。
    ClassI没有错,我更新了答案(两次)。我忘了强调泛型类型通配符的一个问题。@CedricReichenbach@ElliottFrisch这是指错误消息吗?您看到
    FileDatabaseMap
    实际上扩展了
    DoodleDatabaseMap
    ,对吗?
    static void setDatabaseMap(Class<DoodleDatabaseMap<?>> databaseMap)