【JAVA8】双冒号

java

  

public class MyTest {

    public static void  printValur(String str){

        System.out.println("print value : "+str);

    }

 

    public static void main(String[] args) {

        List<String> al = Arrays.asList("a""b""c""d");

        //下面面的forEach循环和上面的循环是等价的 

        for (String a: al) {

            MyTest.printValur(a);

        }

        //下面的for each循环和上面的循环是等价的 

        al.forEach(x->{

            MyTest.printValur(x);

        });

 

        al.forEach(AcceptMethod::printValur);

        //下面的方法和上面等价的

        Consumer<String> methodParam = MyTest::printValur; //方法参数

        al.forEach(x -> methodParam.accept(x));//方法执行accept

    }

}

  

  上面的所有方法执行玩的结果都是如下:

print value : a

print value : b

print value : c

print value : d

  在JDK8中,接口Iterable 8中默认实现了forEach方法,调用了 JDK8中增加的接口Consumer内的accept方法,执行传入的方法参数。

以上是 【JAVA8】双冒号 的全部内容, 来源链接: utcz.com/z/392545.html

回到顶部