Как добавить знак вопроса «Любой тип» в 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"));
...

person Pieter Degraeuwe    schedule 18.03.2015    source источник
comment
вы можете использовать <Persoon, ? extends <any_class_name or Object>>   -  person Prashant    schedule 18.03.2015


Ответы (1)


Foo<?> — это краткая форма Foo<? extends Object>. Используйте для этого WildcardTypeName.

person Jesse Wilson    schedule 18.03.2015
comment
Не могли бы вы привести пример? - person confile; 27.04.2015
comment
Это: ParameterizedTypeName.get(ClassName.get(Class.class), WildcardTypeName.subtypeOf(Object.class) дает Class‹?›. - person Benoît Dubreuil; 05.04.2016