我是Java 8的新手,请尝试此操作。
我有一个界面
public interface CurrencyRateDao{
Double getCurrencyRate(String srcCur,String tarCur, int month);
}
通过这种方式使用它:
CurrencyRateDao currencyRateDao = new CurrencyRateDaoImpl();
Double rate = ('USD','INR',1) -> currencyRateDao::getCurrencyRate;
出现错误:
此表达式的目标类型必须是功能接口。
请提出以上代码有什么问题
最佳答案
您只需要
Double rate = currencyRateDao.getCurrencyRate("USD", "INR", 1);
如果将接口表示为lambda,则它看起来像:
CurrencyRateDao currencyRateDao = (srcCur, tarCur, month) -> Double.MAX_VALUE;
// accepts three arguments and returns a Double value