码迷,mamicode.com
首页 > 编程语言 > 详细

【JAVA8】双冒号

时间:2019-04-19 00:47:20      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:ace   lis   执行   rabl   bsp   syntax   接口   eth   font   

  现在JDK双冒号是:
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) {
            AcceptMethod.printValur(a);
        }
        //下面的for each循环和上面的循环是等价的 
        al.forEach(x->{
            AcceptMethod.printValur(x);
        });
 
        al.forEach(AcceptMethod::printValur);
        //下面的方法和上面等价的
        Consumer<String> methodParam = AcceptMethod::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】双冒号

标签:ace   lis   执行   rabl   bsp   syntax   接口   eth   font   

原文地址:https://www.cnblogs.com/itplay/p/10733433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!