gpt4 book ai didi

JavaPoet - 获取泛型

转载 作者:行者123 更新时间:2023-11-29 20:15:04 24 4
gpt4 key购买 nike

我正在玩注解处理器和 JavaPoet。我有一个用@MyAnno 注释的方法:

@MyAnno
Observable<MyClass> get(int id);

我想生成一个有方法的类:

AsyncSubject<MyClass> get(int id);

到目前为止我所做的是:

ClassName classAsyncSubject = ClassName.get("rx.subjects", "AsyncSubject");
TypeName newReturnType = ParameterizedTypeName.get(classAsyncSubject, get(executableElement.getReturnType()));

这给了我:

AsyncSubject<Observable<MyClass>>

如何只获取MyClass?

最佳答案

如果您的返回类型始终是 Observable<X> , 你可能会转换 get(executableElement.getReturnType()) 的结果至 ParameterizedTypeName并访问第一个类型参数:

((ParameterizedTypeName) get(executableElement.getReturnType()).typeArguments.get(0)

适用类型、容量和健全性检查。

关于JavaPoet - 获取泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34061503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com