java - 如何在JavaPoet中添加 'Any Type'问号?

标签 java code-generation 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为此。

关于java - 如何在JavaPoet中添加 'Any Type'问号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29117410/

相关文章:

JavaPoet - 具有嵌套的 ParameterizedTypeName 的 ParameterizedTypeName

java - java写入txt文件失败

java - Swing JSplitPane问题

c# - TT 生成器中的辅助方法

c# - 如何在Visual Studio中隐藏自定义工具生成的文件

Java 数据模型验证代码和 XML 模式

gradle - java.lang.IllegalArgumentException:不支持的类文件主要版本57

java - 使用 URL.openConnection() 时,处理 "www"和 "https"等 URL 变化的最佳方法是什么?

java - 当应该获得百分比时却获得无穷大

java - 如何在 javapoet 中为 methodspec 添加修饰符?