UUID

HTTP 请求

加密/解密

Common 常用模块

Reflection 反射

Input/Output 输入/输出

Types

Types 类提供了检索泛型类型信息、转换类型以及处理参数化类型的方法。这些方法有助于在运行时高效、方便地操作 Java 类型。

方法

1. getActualType(Type type)

检索参数化类型的实际类型参数。

示例:

Type type = new ParameterizedType() {
    @Override
    public Type[] getActualTypeArguments() {
        return new Type[]{String.class};
    }

    @Override
    public Type getRawType() {
        return List.class;
    }

    @Override
    public Type getOwnerType() {
        return null;
    }
};
Type[] actualType = Types.getActualType(type);
// actualType 将包含 String.class

2. getGenericReturnType(Method method)

检索方法返回类型的实际类型参数。

示例:

Method method = TestTypes.class.getMethods()[0];
Type[] actualType = Types.getGenericReturnType(method);
// actualType 将包含方法的泛型返回类型

3. getGenericFirstReturnType(Method method)

检索方法返回类型的第一个实际类型参数并将其转换为 Class

示例:

Method method = TestTypes.class.getMethods()[0];
Class<?> actualType = Types.getGenericFirstReturnType(method);
// actualType 将是方法的第一个泛型返回类型,作为 Class

4. getActualType(Class<?> clz)

检索类的超类的实际类型参数。

示例:

Type[] actualType = Types.getActualType(ArrayList.class);
// actualType 将包含 ArrayList 超类的泛型类型参数

5. getActualClass(Class<?> clz)

检索类的超类的第一个实际类型参数并将其转换为 Class

示例:

Class<?> actualClass = Types.getActualClass(ArrayList.class);
// actualClass 将是 ArrayList 超类的第一个泛型类型参数,作为 Class

6. type2class(Type type)

Type 转换为 Class

示例:

Type type = String.class;
Class<?> actualClass = Types.type2class(type);
// actualClass 将是 String.class