我希望使用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;
}我知道如何为定义的类型编写,但是应该如何处理呢?有人能帮忙吗?
发布于 2018-04-29 16:47:27
您可以使用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);https://stackoverflow.com/questions/49998656
复制相似问题