中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

php網(wǎng)站開發(fā)代碼東莞做網(wǎng)站最好的是哪家

php網(wǎng)站開發(fā)代碼,東莞做網(wǎng)站最好的是哪家,網(wǎng)站建設(shè)百度推廣,成都公司注冊地址要求Lambda 表達式 文章目錄 Lambda 表達式什么是 Lambda 表達式?怎么使用?1 基本語法:2 箭頭符號:3 代碼演示:4 注意事項 函數(shù)式接口1 什么是函數(shù)式接口2 常見函數(shù)式接口 方法引用(了解)1 什么是方法引用 什么是 Lambda 表達式? Lambda表達式:特殊的匿名內(nèi)部類&…

Lambda 表達式

文章目錄

  • Lambda 表達式
    • 什么是 Lambda 表達式?
    • 怎么使用?
      • 1 基本語法:
      • 2 箭頭符號:
      • 3 代碼演示:
      • 4 注意事項
    • 函數(shù)式接口
      • 1 什么是函數(shù)式接口
      • 2 常見函數(shù)式接口
    • 方法引用(了解)
      • 1 什么是方法引用

什么是 Lambda 表達式?

Lambda表達式:特殊的匿名內(nèi)部類,語法更簡潔。

  • 允許把函數(shù)作為一個方法的參數(shù)(函數(shù)作為方法參數(shù)傳遞),將代碼像數(shù)據(jù)一樣傳遞。

怎么使用?

1 基本語法:

<函數(shù)式接口>  <變量名> = (參數(shù)1,參數(shù)2...) -> {//方法體};

2 箭頭符號:

-> (箭頭操作符), -> 將表達式分成兩部分

  • 左側(cè):(參數(shù)1,參數(shù)2…)表示參數(shù)列表
  • 右側(cè):{}內(nèi)部是方法體

3 代碼演示:

public class TestLambda {public static void main(String[] args) {//Lambda表達式:特殊的匿名內(nèi)部類,語法更簡潔。//示例1: Runnable接口//匿名內(nèi)部類:Runnable runnable1 = new Runnable() {@Overridepublic void run() {System.out.println("子線程1 開始執(zhí)行...");}};//簡化: Lambda表達式Runnable runnable2 = ()->{System.out.println("子線程2 開始執(zhí)行...");};//使用new Thread(runnable1).start();new Thread(runnable2).start();//簡寫: 方法體只有一行代碼時new Thread(()-> System.out.println("子線程3 開始執(zhí)行..."));//示例2: Comparator比較器//匿名內(nèi)部類Comparator<Integer> cmp1 = new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o1 - o2;}};//簡化: Lambda表達式Comparator<Integer> cmp2 = (o1, o2) -> o1 - o2;TreeSet<Integer> treeSet1 = new TreeSet<>(cmp1);TreeSet<Integer> treeSet2 = new TreeSet<>(cmp2);}
}

IDEA 快捷鍵:

  • 在可以使用 Lambda表達式的位置, 按住 Alt + Enter , 即可將原代碼用 Lambda表達式書寫

4 注意事項

  • 形參列表的數(shù)據(jù)類型會自動推斷。
  • 如果形參列表為空,只需保留() 。
  • 如果形參只有1個,()可以省略,只需要參數(shù)的名稱即可。
  • 如果執(zhí)行語句只有一句,且無返回值,{}可以省略,
    若有返回值,則若想省去{},則必須同時省略return,且執(zhí)行語句也保證只有一句。
  • Lambda不會生成一個單獨的內(nèi)部類文件。

函數(shù)式接口

1 什么是函數(shù)式接口

  • 如果一個接口只有一個抽象方法,則該接口稱之為函數(shù)式接口,函數(shù)式接口可以使用Lambda表達式,Lambda表達式會被匹配到這個抽象方法上 。
  • @FunctionalInterface 注解檢測接口是否符合函數(shù)式接口。

代碼示例:

interface:

@FunctionalInterface //函數(shù)式接口: 只有一個抽象方法
public interface Usb {void service();
}

Test:

public class TestUsb {public static void main(String[] args) {//匿名內(nèi)部類Usb usb1 = new Usb() {@Overridepublic void service() {System.out.println("連接成功, 開始工作...");}};//Lambda表達式Usb usb2 = () -> System.out.println("連接成功, 開始工作...");}
}

2 常見函數(shù)式接口

函數(shù)式接口參數(shù)類型返回類型說明
Consumer<T> 消費型接口Tvoidvoid accept(T t);對類型為T的對象應用操作
Supplier<T> 供給型接口TT get(); 返回類型為T的對象
Function<T,R> 函數(shù)型接口TRR apply(T t);對類型為T的對象應用操作,并返回類型為R類型的對象。
Predicate<T> 斷言型接口Tbooleanboolean test(T t);確定類型為T的對象是否滿足條件,并返回boolean類型。

TestConsumer:

public class TestConsumer {public static void main(String[] args) {//匿名內(nèi)部類happy(new Consumer<Double>() {@Overridepublic void accept(Double money) {System.out.println(("聚餐吃飯, 花費:"+ money));}},1000);//Lambda表達式happy(money-> System.out.println("聚餐吃飯, 花費:"+money),2000);}public static void happy(Consumer<Double> consumer, double money) {consumer.accept(money);}
}

TestSupplier:

public class TestSupplier {public static void main(String[] args) {//匿名內(nèi)部類//獲取5個100以內(nèi)的隨機數(shù)int[] nums1 = getNums(new Supplier<Integer>() {@Overridepublic Integer get() {return new Random().nextInt(100);}},5);System.out.println(Arrays.toString(nums1));//Lambda表達式//獲取10個1000以內(nèi)的隨機數(shù)System.out.println(Arrays.toString(getNums(() -> new Random().nextInt(1000),10)));}public static int[] getNums(Supplier<Integer> supplier, int length) {int[] arr = new int[length];for (int i = 0; i < arr.length; i++) {arr[i] = supplier.get();}return arr;}
}

TestFunction:

public class TestFunction {public static void main(String[] args) {//匿名內(nèi)部類String s1 = handleString(new Function<String, String>() {@Overridepublic String apply(String s) {return s.toUpperCase();}}, "hello");System.out.println(s1);//Lambda表達式System.out.println(handleString(s -> s.toLowerCase(),"HELLO"));}public static String handleString(Function<String, String> function, String s) {return function.apply(s);}
}

TestPredicate:

public class TestPredicate {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("張三");list.add("張三鋒");list.add("張耕耘");list.add("韓羽");list.add("張利");list.add("田美麗");//匿名內(nèi)部類List<String> list1 = filter(new Predicate<String>() {@Overridepublic boolean test(String s) {return s.startsWith("張");}}, list);System.out.println(list1);//Lambda 表達式List<String> list2 = filter(s -> s.startsWith("田"), list);System.out.println(list2);}public static List<String> filter(Predicate<String> p, List<String> src) {ArrayList<String> list = new ArrayList<>();for (String s : src) {if (p.test(s)){list.add(s);}}return list;}
}

方法引用(了解)

1 什么是方法引用

  • 方法引用是Lambda表達式的一種簡寫形式。
    • 如果Lambda表達式方法體中只是調(diào)用一個特定的已經(jīng)存在的方法
    • 這個方法的參數(shù)和返回值和接口中的方法的參數(shù)和返回值保持一致

代碼演示:

形式1 : 對象::實例方法

public class TestMethodRef {public static void main(String[] args) {Consumer<String> consumer1 = s -> System.out.println(s);Consumer<String> consumer2 = System.out::println;consumer1.accept("xxx");consumer2.accept("yyy");}
}res:
xxx
yyy
http://www.risenshineclean.com/news/39351.html

相關(guān)文章:

  • 邯鄲網(wǎng)站制作多少錢蘇州網(wǎng)站建設(shè)制作公司
  • 貴州省城鄉(xiāng)和建設(shè)廳網(wǎng)站seo優(yōu)化的作用
  • 游戲網(wǎng)站風格dz論壇seo
  • 阿里云 做購物網(wǎng)站網(wǎng)站seo是什么平臺
  • 上海網(wǎng)站建設(shè)心得win10一鍵優(yōu)化工具
  • 免費做網(wǎng)站的軟件小廣告設(shè)計
  • 上市公司做網(wǎng)站源碼網(wǎng)站
  • 做網(wǎng)站用什么語言最好seo優(yōu)化設(shè)計
  • 陜西 汽車 網(wǎng)站建設(shè)網(wǎng)頁制作源代碼
  • 商城開發(fā)價格服務企業(yè)網(wǎng)站優(yōu)化服務公司
  • 移動網(wǎng)站制作價格安裝百度到手機桌面
  • 網(wǎng)站是先解析后備案嗎免費投放廣告平臺
  • 大片播放網(wǎng)站seo百度發(fā)包工具
  • 鄭州制作網(wǎng)站新站整站快速排名
  • 獨立網(wǎng)站怎么做推廣google chrome download
  • 網(wǎng)站開發(fā)的前端框架有哪些口碑營銷的案例及分析
  • 視頻網(wǎng)站怎么做算法上海seo外包公司
  • 做搜狗網(wǎng)站優(yōu)化南京seo推廣
  • 定州網(wǎng)站建設(shè)公司最新網(wǎng)絡(luò)營銷方式有哪些
  • wordpress簡介怎么改東莞seo收費
  • 手把手教做網(wǎng)站做國外網(wǎng)站
  • 順德網(wǎng)站制作seo課程培訓要多少錢
  • 做網(wǎng)站一個月能掙多少錢網(wǎng)絡(luò)營銷師證書含金量
  • 深圳網(wǎng)站優(yōu)化團隊長春網(wǎng)站優(yōu)化服務
  • html可視化編輯軟件東莞網(wǎng)站優(yōu)化公司哪家好
  • 做網(wǎng)站用哪個軟件寫比較好免費優(yōu)化網(wǎng)站
  • 雄縣網(wǎng)站建設(shè)免費海報模板網(wǎng)站
  • 網(wǎng)站備案后可以更換域名嗎網(wǎng)絡(luò)營銷是學什么
  • 濟南網(wǎng)站優(yōu)化公司拼多多seo是什么意思
  • 360網(wǎng)站建設(shè)公司哪家好查詢關(guān)鍵詞網(wǎng)站