Как создать Необязательный<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()));
Другие вопросы по тегам