如何生成具有以下签名的方法?
public <T extends MyClass> void doSomething(T t)
到目前为止我有:
MethodSpec.methodBuilder("doSomething")
.addModifiers(Modifier.PUBLIC)
.addTypeVariable(TypeVariableName.get("T", MyClass.class))
.build()
编辑 这是上面代码生成的(我不知道如何添加参数):
public <T extends Myclass> void doSomething()
最佳答案
将您生成的 TypeVariableName
提取到一个变量中,以便您可以重用它的值
TypeVariableName typeVariableName = TypeVariableName.get("T", MyClass.class);
然后添加一个该类型的参数
MethodSpec spec = MethodSpec.methodBuilder("doSomething")
.addModifiers(Modifier.PUBLIC)
.addTypeVariable(typeVariableName)
.addParameter(typeVariableName, "t") // you can also add modifiers
.build();
关于JavaPoet 添加泛型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30969986/