作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个简单的缓存类。缓存本质上是一个从类到列表的映射。我想以某种方式声明映射,以强制列表项类与键的类相同。以下内容:
class Cache {
private static Map<Class<? extends CodedEntity>, List<? extends CodedEntity>> map;
}
还不够,因为它不会强制执行(在其声明中)我想要的。映射需要是静态的,并且将类声明为 T 是没有意义的,因为我不希望它仅限于单一类型。有没有语法方法可以实现这一点?
最佳答案
您的映射是私有(private)的,为什么不在访问器和修改器方法中强制执行您的需求?
public <T extends CodedEntity> void addToCache(Class<T> key, List<T> values) {
map.put(key, values);
}
public <T extends CodedEntit> List<T> getFromCache(Class<T> key) {
return (List<T>) map.get(key);
}
关于java - 在 map 上强制执行泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055414/
我是一名优秀的程序员,十分优秀!