0
我正在尝试编写一个简单的缓存类。缓存本质上是一个从类到列表的映射。 我想声明地图的方式来强制列表项类与键的类相同。以下:在地图上强制执行仿制
class Cache {
private static Map<Class<? extends CodedEntity>, List<? extends CodedEntity>> map;
}
是不够的,因为它不会执行(在其decleration)我想要的。 地图需要是静态的,并且将类声明为T是没有意义的,因为我不希望它仅限于单一类型。有没有一种语法方式来实现这一点?
当然,我可以做到这一点(而且我做到了),对我来说,我似乎很奇怪,我无法找到一种方法来在字段级别定义这一点。例如,我希望在return语句中不会有编译器警告。 – Ran 2012-01-29 18:19:19
对不起 - 这不可行。您的API将是外部类型安全的,但是Java类型系统不够强大,无法证明“此处投射是安全的”。 – 2012-01-29 18:27:23