java - 什么是 GenericTypeResolver 及其工作原理?

标签 java spring

我正在努力创建开源 Java 项目的 .NET 移植。

由于我不是java专家,有时会遇到一些看不懂的代码:

 private UserAgentAnnotationMapper<T> mapper = null;
 public void initialize(UserAgentAnnotationMapper<T> theMapper) {
        mapper = theMapper;

        Class[] classOfTArray = GenericTypeResolver.resolveTypeArguments(mapper.getClass(), UserAgentAnnotationMapper.class);

正如我在 spring 文档中读到的:

public abstract class GenericTypeResolver extends java.lang.Object

Helper class for resolving generic types against type variables.

Mainly intended for usage within the framework, resolving method parameter types even when they are declared generically

但我无法理解:UserAgentAnnotationMapper 是一个通用接口(interface),在什么意义上解析针对类型变量的通用类型?

正如我所看到的,代码返回了一个类数组,我不明白它们如何与接口(interface)相关。

最佳答案

该方法解析如何在变量mapper的类型中指定类型变量T

例如如果mapper是类型

class IntegerMapper implements UserAgentAnnotationMapper<Integer> {
 // ..
}

它将返回一个包含Integer.class的数组

关于java - 什么是 GenericTypeResolver 及其工作原理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52005875/

相关文章:

java - 连接到 postgreSQL 服务器失败

java - 尝试在高内存、多 CPU 服务器上运行多个调用时 JVM 崩溃

java - 如何处理java streams api中的可选对象?

java - 在多个 JVM 上测试 Spring 应用程序

spring - 如何使用Hibernate JPA和Spring Framework启用加载时间/运行时编织

java - DGraph:检索链接数据时出现 JSON 语法异常

java - 如何解决 java.lang.NoSuchMethodError : org. neo4j.helpers.collection.Iterables.toList(Ljava/lang/Iterable;)Ljava/util/List?

database - 如何使用 MyBatis Spring Integration 连接多个数据库?

spring - Grails Spring Security 插件和 dbconsole

java - 我们应该在 hibernate 中创建域类时实现 Serialized 接口(interface)吗