java中的双冒号操作符

java :: Java中的双冒号操作符

        
        

java中的双冒号操作符

定义

双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion。

通常的情况下:

把 x -> System.out.println(x) 简化为 System.out::println 的过程称之为 eta-conversion

把 System.out::println 简化为 x -> System.out.println(x) 的过程称之为 eta-expansion

范式:
类名::方法名

注意:

  1. 方法后面并没有()
  2. 懒加载方法是否调用要看调用方使用情况

使用范例

方法调用

person -> person.getAge();
可以替换成
Person::getAge

x -> System.out.println(x)
可以替换成
System.out::println
out是一个PrintStream类的对象,println是该类的方法,依据x的类型来重载方法

创建对象

() -> new ArrayList<>();
可以替换为
ArrayList::new
new关键字实际上调用的是ArrayList的构造方法

JVM实现

JVM底层实现是CallSite,对JDK层暴漏的接口是Functional

引用

http://hongjiang.info/eta-conversion-and-eta-expansion/

分类: Java
好文要顶 关注我 收藏该文
枫飘雪落
关注 - 1
粉丝 - 30
+加关注
0
0
« 上一篇: 《什么叫会工作》阅读心得
» 下一篇: 关于java中Stream理解
posted @ 2018-06-21 15:19  枫飘雪落 阅读( 6126) 评论( 0) 编辑 收藏
刷新评论 刷新页面 返回顶部
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【培训】马士兵老师强势回归!Java线下课程全免费,双十一大促!
【活动】京东云服务器_云主机低于1折,低价高性能产品备战双11
【推荐】天翼云双十一翼降到底,云主机11.11元起,抽奖送大礼
【优惠】腾讯云 11.11智惠上云,爆款提前购与双11活动同价
【福利】个推四大热门移动开发SDK全部免费用一年,限时抢!
【优惠】七牛云采购嘉年华,云存储、CDN等云产品低至1折
相关博文:
· Java8中的[方法引用]“双冒号”——走进Java Lambda(四)
· Java8Lambda表达式之方法引用::双冒号操作符
· Java8Lambda表达式之方法引用::双冒号操作符
· java8新特性_::双冒号
· php里的双冒号::操作符与箭头->操作符的区别
» 更多推荐...
    
最新 IT 新闻:
· 特斯拉欧洲超级工厂为何建在德国而不是英国?马斯克如此解释
· 阿里巴巴招股书全文:马云持股6.1% 今年交易总额5.7万亿元
· 暗物质和暗能量 物理学天空这两朵乌云何时才能消散
· 微软杀毒软件 Microsoft Defender 将发布 Linux 版本
· 大疆:只要有智能手机,就能跟踪附近的无人机
» 更多新闻...
昵称: 枫飘雪落
园龄: 2年4个月
粉丝: 30
关注: 1

+加关注

		
< 2019年11月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
1 2 3 4 5 6 7
		

我的随笔

  • 我的评论

  • 我的参与

  • 最新评论

  • 我的标签

    随笔分类

            
    
    
            
    DB(6)
                        
                        
  • Java(31)
                        
                        
  • JavaScript(4)
                        
                        
  • services(2)
                        
                        
  • 设计模式(25)
                        
    
            
    
    
        

    推荐排行榜

    • 1. 并发研究之CPU缓存一致性协议(MESI)(11)
    • 2. JVM内存管理概述(1)
    • 3. 并发之AQS原理(三) 如何保证并发(1)
    • 4. 并发研究之Java内存模型(Java Memory Model)(1)
    	

    你可能感兴趣的:(java中的双冒号操作符)