gpt4 book ai didi

java - 在 map 上强制执行泛型

转载 作者:行者123 更新时间:2023-12-01 19:08:54 26 4
gpt4 key购买 nike

我正在尝试编写一个简单的缓存类。缓存本质上是一个从类到列表的映射。我想以某种方式声明映射,以强制列表项类与键的类相同。以下内容:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com