W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Java 8引入了一種稱為交集類型的新類型。
交叉類型是多種類型的交叉。
交叉路口類型可能在投射中顯示為目標類型。
在兩種類型之間使用Type1 & Type2
,以表示類型1,類型2的交集的新類型。
以下代碼使用具有交集類型的轉型,創(chuàng)建一個新的合成類型,它是所有類型的子類型。
它創(chuàng)建兩個接口,Calculator是一個功能接口,可以與lambda表達式一起使用。另一個稱為 NonFunction
,它不是函數(shù)接口。 為了創(chuàng)建一個lambda表達式并賦值給 NonFunction
,我們使用&
來創(chuàng)建新的子類型。
交叉路口類型NonFunction & Calculator
是一個函數(shù)接口。
public class Main { public static void main(String[] argv) { NonFunction nonFunction = (NonFunction & Calculator) (x,y)-> x + y; } } @FunctionalInterface interface Calculator{ long calculate(long x, long y); } interface NonFunction{ }
以下代碼通過將 java.io.Serializable
標記接口與我們自己的功能接口相交來創(chuàng)建交集類型。
public class Main { public static void main(String[] argv) { java.io.Serializable ser = (java.io.Serializable & Calculator) (x,y)-> x + y; } } @FunctionalInterface interface Calculator{ long calculate(long x, long y); }
以這種方式,我們使一個lambda表達式可序列化。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: