首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaPoet添加泛型参数

JavaPoet添加泛型参数
EN

Stack Overflow用户
提问于 2015-06-21 22:32:00
回答 2查看 4.5K关注 0票数 10

如何生成具有以下签名的方法?

代码语言:javascript
复制
public <T extends MyClass> void doSomething(T t)

到目前为止,我已经:

代码语言:javascript
复制
MethodSpec.methodBuilder("doSomething")
        .addModifiers(Modifier.PUBLIC)
        .addTypeVariable(TypeVariableName.get("T", MyClass.class))
        .build()

编辑--这就是上面的代码生成的内容(我不知道如何添加参数):

代码语言:javascript
复制
public <T extends Myclass> void doSomething()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-21 22:38:56

将生成的TypeVariableName提取到变量中,以便重用其值。

代码语言:javascript
复制
TypeVariableName typeVariableName = TypeVariableName.get("T", MyClass.class);

然后添加该类型的参数。

代码语言:javascript
复制
MethodSpec spec = MethodSpec.methodBuilder("doSomething")
                            .addModifiers(Modifier.PUBLIC)
                            .addTypeVariable(typeVariableName)
                            .addParameter(typeVariableName, "t") // you can also add modifiers
                            .build();
票数 16
EN

Stack Overflow用户

发布于 2016-09-19 07:29:11

如果要传递泛型类型化结构,请使用以下方式。

代码语言:javascript
复制
MethodSpec loadListInteger = MethodSpec.methodBuilder("loadListInteger")
                    .addModifiers(Modifier.PUBLIC)
                    .returns(void.class)
                    .addParameter(ParameterizedTypeName.get(List.class, Integer.class), "list")
                    .build();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30969986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档