我不太清楚如何表达我的问题,所以我举个例子:
以这张地图为例:
Map<Class<? extends DatabaseEntry>, Class<? extends IDecorator<? extends DatabaseEntry>>> map;
例如MyClass
,它映射DatabaseEntry
到它的IDecorator<MyClass>
. 上述陈述的问题在于,它太不具体了。我想要更多的类型安全。像这样的东西:
Map<Class<T extends DatabaseEntry>, Class<? extends IDecorator<T>>> map;
当然, T 会因条目而异,但我想要的是,如果我调用:
map.get(MyClass.class);
返回类型将IDecorator<MyClass>
是IDecorator<? extends DatabaseEntry>
有一个简单的解决方案吗?