我想使用 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;
}
我知道如何为已定义的类型编写,但我该如何处理呢?有人可以帮忙吗?
答案 0 :(得分: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);