如何在 JavaPoet 中添加 'Any Type' 问号?
How to add the 'Any Type' questionmark in JavaPoet?
我正在使用 JavaPoet 生成代码。
我想在生成的代码中的某处添加一个具有以下参数的方法。
...
public B someMethod(final AbstractObjectBuilder<Persoon,?> builder) {
...
}
...
所以我的 JavaPoet 代码应该是这样的
//This does not compile, since I don't know what to put as last argument (questionmark)
ParameterizedTypeName parameterizedTypeName = ParameterizedTypeName.get(AbstractObjectBuilder.class, propertyType,?);
ParameterSpec parameterSpec = ParameterSpec.builder(parameterizedTypeName, name+"Builder", Modifier.FINAL).build();
MethodSpec modMethod = MethodSpec.methodBuilder(name)
.addModifiers(Modifier.PUBLIC)
.addParameter(parameterSpec)
.returns(TypeVariableName.get("B"));
...
Foo<?>
是 Foo<? extends Object>
的缩写形式。为此使用 WildcardTypeName
。
我正在使用 JavaPoet 生成代码。
我想在生成的代码中的某处添加一个具有以下参数的方法。
...
public B someMethod(final AbstractObjectBuilder<Persoon,?> builder) {
...
}
...
所以我的 JavaPoet 代码应该是这样的
//This does not compile, since I don't know what to put as last argument (questionmark)
ParameterizedTypeName parameterizedTypeName = ParameterizedTypeName.get(AbstractObjectBuilder.class, propertyType,?);
ParameterSpec parameterSpec = ParameterSpec.builder(parameterizedTypeName, name+"Builder", Modifier.FINAL).build();
MethodSpec modMethod = MethodSpec.methodBuilder(name)
.addModifiers(Modifier.PUBLIC)
.addParameter(parameterSpec)
.returns(TypeVariableName.get("B"));
...
Foo<?>
是 Foo<? extends Object>
的缩写形式。为此使用 WildcardTypeName
。