java - 有没有办法在类类型的定义中重用通用通配符?

标签 java generics

我怎样才能对类似 Map<S,Map<Class<T>,T>> 这样的东西进行类型安全处理?对于任何类型?

如果我使用该公式,则 map 将仅包含具体的 S、T 类型。如果我使用通配符,Map<?,Map<Class<?>,?>> , 最后 2 个通配符将不会强制相关。

有什么解决办法吗?

最佳答案

您可以创建一个类来保持这种关系。

public class ClassMap<T> extends HashMap<Class<T>, T> {}

然后你可以这样写:

Map<?, ClassMap<?>>

关于java - 有没有办法在类类型的定义中重用通用通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40109685/

相关文章:

java - 如何让 maven 获取发布父 pom 而不是最新的?

Java 非阻塞 TLS PSK

generics - Kotlin:使用继承或泛型为不同的类重用函数

java - HttpServletRequestWrapper 在 Spring 4 下不工作

java - 删除java中的停用词

java - asciidoctor 中 ifeval::[] 中的复杂条件

Swift:带有回调的泛型

java - 通用 Autowiring 不适用于@Transactional

Java 泛型 : Multiple Inheritance in Bounded Type Parameters <T extends A & I>

objective-c - 有没有办法强制在 NSArray、NSMutableArray 等上输入?