java - 如何使用java poet生成泛型方法?

标签 java javapoet

我想使用 javapoet 生成下面的代码

Javapoet 是一个自动生成 java 代码的库。

@SuppressWarnings("unchecked")
public static <T> T[] returnArrayForType(T value) {
    Object array = Array.newInstance(value.getClass(), 1);
    Array.set(array, 0, value);
    return (T[]) array;
}

我知道如何为定义的类型编写代码,但我应该如何处理它?谁能帮忙?

最佳答案

您可以使用 TypeVariableName。下面的片段应该让你开始。

TypeVariableName typeVariable = TypeVariableName.get("T");
MethodSpec.Builder methodBuilder = MethodSpec.methodBuilder("returnArrayForType")
        .addParameter(typeVariable, "value")
        .addTypeVariable(typeVariable)
        .returns(ArrayTypeName.of(typeVariable))
        .addModifiers(Modifier.PUBLIC, Modifier.STATIC);

关于java - 如何使用java poet生成泛型方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49998656/

相关文章:

java - 从 Web 服务获取响应时出错非默认命名空间无法映射到空 URI

gradle - java.lang.IllegalArgumentException:不支持的类文件主要版本57

JavaPoet 添加泛型参数

JavaPoet - 获取泛型

java - 如果父线程较早完成,则子线程似乎无法完成

java - Glassfish - java.lang.NoClassDefFoundError

java - 如何在 JavaPoet 中创建具有给定名称的类型?

java - 添加Java系统模块在Eclipse中编译

java - 将 double 转换为字符串并删除欧元符号货币