我试图看看是否可以使用 Java Generics Wildcarding With Multiple Classes 中指定的泛型来实现一个可以接受两个不同的类的 Map
我试过了
public class LocalizedStringMap extends ConcurrentHashMap<Locale & String, String> {
但是这是一个语法错误。我能做的最接近的事情就是创建一个单独的方法来代替 getByLocale()
。
最佳答案
根据设计,这是不可能完成的。泛型为您处理类型装箱和编译时类型检查。使用您的示例,keySet() 将返回一个包含 Locale 和 String 成员的 Set 对象,无法强制执行类型检查或处理拆箱。
您引用的示例仅适用于单个类和一个或多个接口(interface),但不适用于多个类。
关于java - Typesafe Map 的多种键类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57718162/