【发布时间】:2020-12-26 16:34:26
【问题描述】:
如何生成具有以下签名的方法?
public ServiceA<? extends ServiceB> anyFunctionName() {
// code
}
问题:
不知道如何添加返回类型:ServiceA<? extends ServiceB>
假设我有 ServiceA 和 ServiceB 的 FQCN。
我正在尝试的是下面的代码,但不起作用。
MethodSpec.Builder builder =
MethodSpec.methodBuilder("anyFunctionName")
.addModifiers(Modifier.PRIVATE)
.returns(ParameterSpec.builder(ParameterizedTypeName.get(
ClassName.bestGuess("com.learn.ServiceA"),
WildcardTypeName.subtypeOf(Object.class),
ClassName.bestGuess("com.learn.ServiceB")).build());
以上代码生成如下代码:
public ServiceA<? , ServiceB> anyFunctionName() {
// code
}
任何线索将不胜感激。
【问题讨论】:
-
假设它们只是提供 FQCN 的工厂类。
-
“不起作用”是什么意思?
-
没有提供所需的输出。
-
为了更清晰更新了问题。
-
没问题,很高兴我能把你推向正确的方向。