Ссылка на метод функционального интерфейса - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в Java 8 и пробую это.у меня есть интерфейс

public interface CurrencyRateDao{
    Double getCurrencyRate(String srcCur,String tarCur, int month);
}

Доступ с использованием этого способа:

CurrencyRateDao currencyRateDao = new CurrencyRateDaoImpl();
Double rate = ('USD','INR',1) -> currencyRateDao::getCurrencyRate;

Выдача ошибки:

целевой тип этого выражения должен быть функциональныминтерфейс.

Подскажите, пожалуйста, что не так с кодом выше

1 Ответ

0 голосов
/ 04 марта 2019

Вам просто нужно

Double rate = currencyRateDao.getCurrencyRate("USD", "INR", 1);

Если бы вы представляли интерфейс как лямбду, он бы выглядел так:

CurrencyRateDao currencyRateDao = (srcCur, tarCur, month) -> Double.MAX_VALUE;
// accepts three arguments and returns a Double value
...