对方法的引用 直接类::方法名就完事了,是不是很简单?下面上代码实例
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
public class MyTest {
public static void main(String[] args) {
System.out.println("----------------普通的写法开始-----------------------");
List<String> list = Arrays.asList("a","b","c","d");
for (String str: list) {
MyTest.test(str);
}
System.out.println("----------------普通的写法结束-----------------------");
System.out.println("----------------JDK8新特性双冒号写法开始------------------");
Consumer<String> strConsumer = MyTest::test;
System.out.println("----------------方式1--------------------------");
list.forEach(strConsumer);
System.out.println("----------------方式2--------------------------");
list.forEach(MyTest::test);
System.out.println("----------------方式3--------------------------");
list.forEach(x -> strConsumer.accept(x));
}
public static void test(String str) {
System.out.println("String value : "+str);
}
}