Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javapoter-获取泛型类型_Java_Android_Annotations_Javapoet - Fatal编程技术网

javapoter-获取泛型类型

javapoter-获取泛型类型,java,android,annotations,javapoet,Java,Android,Annotations,Javapoet,我正在玩注释处理器和JavaPoter。我有一个我用@MyAnno注释的方法: @MyAnno Observable<MyClass> get(int id); 这给了我: AsyncSubject<Observable<MyClass>> AsyncSubject 如何仅获取MyClass?如果返回的类型始终是可观察的,则可以将get(executableElement.getReturnType())的结果强制转换为ParameterizedType

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

@MyAnno
Observable<MyClass> get(int id);
这给了我:

AsyncSubject<Observable<MyClass>>
AsyncSubject

如何仅获取MyClass?

如果返回的类型始终是可观察的
,则可以将
get(executableElement.getReturnType())
的结果强制转换为
ParameterizedTypeName
,并访问第一个类型参数:

((ParameterizedTypeName) get(executableElement.getReturnType()).typeArguments.get(0)
类型、容量和健全性检查适用

AsyncSubject<Observable<MyClass>>
((ParameterizedTypeName) get(executableElement.getReturnType()).typeArguments.get(0)