Вернуть новый экземпляр javax.inject.Provider, используя лямбду - PullRequest
3 голосов
/ 24 мая 2019

У меня есть сегмент кода:

private static <T> Provider<T> getProviderInstance(T value) {
    return new Provider<T>() {
        @Override
        public T get() {
            return value;
        }

    };
}

Я хочу реорганизовать его с помощью лямбды.Как я могу это сделать?

1 Ответ

2 голосов
/ 24 мая 2019

Предположим, если Provider - это Функциональный интерфейс с абстрактным get() методом, как показано ниже

@FunctionalInterface
interface Provider<T>{
    abstract T get();
 }

Тогда соответствующее лямбда-выражение будет

Provider<String> p = ()->"hello";
System.out.println(p.get());       //hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...