【发布时间】:2017-04-01 04:15:20
【问题描述】:
我只是对 lambdas 有一点疑问。使用以下代码出现以下错误。如果我正在调用返回布尔值或其他类型的方法,我看不到这个问题。我该如何解决这个问题?
错误:
线程“main”java.lang.Error 中的异常:未解决的编译问题: Iterable 类型中的 forEach(Consumer) 方法不适用于参数 ((bean) -> {}) 此表达式的目标类型必须是函数式接口
在 com.wipro.MethodReference.main(MethodReference.java:18)
package com.sample;
import com.student.MockClass;
import java.util.ArrayList;
import java.util.List;
public class MethodReference {
public static void main(String[] args) {
MockClass obj = new MockClass("JSP", 2);
MockClass obj1 = new MockClass("Java", 8);
List<MockClass> listofBeans = new ArrayList<MockClass>();
listofBeans.add(obj);
listofBeans.add(obj1);
listofBeans.forEach(bean -> MethodReference::call);
}
public static void call(){
System.out.println("Hii!!!");
}
}
【问题讨论】:
标签: java-8 functional-interface