Как привести параметры лямбды в опционально - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть лямбда-выражение, как показано ниже. Я хочу спросить: есть ли простой или лучший способ приведения параметра лямбда-выражения (x) в строку?

Optional.ofNullable(result).isPresent( x-> {
String value = (String) x;
});

Когда я пытаюсь изменить тип ввода, например

String value = (String) x;

Я получаю ошибку ниже;

Необратимые типы; не может привести параметр лямбда к java .lang.String

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете сделать безопасное кастинг:

 Optional.of(result)
            .filter(String.class::isInstance) // verify that Object is a String
            .map(String.class::cast) // safely cast to String
            .ifPresent( input-> {
                // now input is a String
    });
...