【发布时间】:2016-01-20 11:52:14
【问题描述】:
我是 lambda 和函数式接口的新手。我正在尝试使用 lambda 实现 RowListener 功能接口 (ActiveJDBC ORM),但出现编译器错误,我现在不知道为什么。
匿名类的旧样式如下所示:
db.find("some query", new RowListener() {
@Override
public boolean next(Map<String, Object> arg0) {
// TODO Auto-generated method stub
return false;
}
});
这是我想做的:
db.find("some query", map -> {
// whatever
});
给我的错误是:
Base类型中的find(String, Object...)方法不适用于参数(String, (map) -> {})
我认为它正在尝试将 lambda 应用于“find”的重载方法,该方法不接受 RowListener 作为参数,但我不确定为什么。
您能对此有所了解的任何信息都会有所帮助。
【问题讨论】:
-
RowListener 本身的代码在 lambda 案例中是什么样的?
标签: java lambda interface functional-programming java-8