zoukankan      html  css  js  c++  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/

  • 相关阅读:
    Matlab 基础
    C# 基础
    Linux Shell
    【Luogu3381】【模板】缩点
    KMP学习笔记
    品味题目的味道
    【NOI2015】【BZOJ4196】软件包管理器
    宝藏
    状态压缩动态规划
    第一篇随笔
  • 原文地址:https://www.cnblogs.com/yanlong300/p/9209243.html
Copyright © 2011-2022 走看看