问题描述
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
}
任何线索都会受到赞赏。
解决方法
非常感谢@Michael指出我在做的错误。
以下代码有效。
MethodSpec.Builder builder =
MethodSpec.methodBuilder("anyFunctionName")
.addModifiers(Modifier.PRIVATE)
.returns(ParameterizedTypeName.get(
ClassName.bestGuess("com.learn.ServiceA"),WildcardTypeName.subtypeOf(ClassName.bestGuess("com.learn.ServiceB")));