Как создать Необязательный<Class <? >> в JCodeModel?
Я хочу создать JCodeModel для метода ниже:
private static Optional<Class<?>> getTypeOfId(String fieldName) {
switch (fieldName.toLowerCase()) {
case "IDFORCLASSX":
{
return Optional.of(X.class);
}
default:
{
return Optional.empty();
}
}
}
В настоящее время я использую приведенный ниже код для создания возвращаемого типа класса.
AbstractJClass optionalOfClassType = codeModel.ref(Optional.class)
.narrow(codeModel.ref(Class.class)
.narrow(codeModel.ref("?")));
Но приведенный выше код дает высокоприоритетную ошибку FindBug PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS
,
Может кто-нибудь помочь мне оптимизировать вышеуказанную строку кода?
1 ответ
Нечто подобное:
codeModel
.ref(Optional.class)
.narrow(
codeModel.ref(Class.class).narrow(
codeModel.ref(Object.class).wildcard()));