zoukankan      html  css  js  c++  java
  • 转载:java :: Java中的双冒号操作符

    转自:https://www.cnblogs.com/yanlong300/p/9209243.html

    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/

  • 相关阅读:
    训练网络考虑内容
    阿斯顿
    wifi 模块Yeelink联网
    fpga串口通信的verilog驱动
    vga显示彩条
    状态机之二段式
    矩阵键盘
    error
    时钟
    Error(10028)
  • 原文地址:https://www.cnblogs.com/happyliuyi/p/14431156.html
Copyright © 2011-2022 走看看