2

我想使用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;
}

我知道如何为定义的类型编写,但我应该如何处理它?任何人都可以帮忙吗?

4

1 回答 1

1

您可以使用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);
于 2018-04-29T16:47:27.777 回答