Bootstrap

jdk8新特性之方法引用 双冒号::用法

对方法的引用 直接类::方法名就完事了,是不是很简单?下面上代码实例

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);
	}

}
;