java :: Java中的雙冒號操作符

來源:互聯網
上載者:User

標籤:運算式   一個   get   關鍵字   建立   class   java   使用方式   inf   

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 :: Java中的雙冒號操作符

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.