日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java1.8的特性,java1.8新特性

發布時間:2024/10/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java1.8的特性,java1.8新特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.新增概念:stream、lambda、函數式編程

2.函數式接口(@functionalInterface):只包含一個方法的接口,但可以有默認(default)方法

lambda的本質是實現了函數式接口唯一方法的實現類,只有一個方法才不需要指定

3.lambda無法單獨出現,需要一個函數式接口來盛放

4.forEach實現了內部迭代

外部迭代:顯式地進行迭代操作,集合元素的訪問由外部控制

5.幾個常用迭代的時間:

for(String s : list)????? ? : 50134

for(int i = 0; i < list.size(); i++)????? ? : 74608

for(Iterator iterator = list.iterator; iterator.hasnext();)????? ? : 476464

list.forEach(System.out::println)????? ? : 1357154

list.forEach(e -> System.out.println(e))????? ? : 87608685

6.java 1.5:泛型、注解、concurrent并發包

java 1.8:lambda表達式、stream

7.lambda表達式是語法糖,為了簡化語句、配合stream使用,取代冗長的內部類定義

語法糖:編譯器推斷出此處需要參數列表 -> 函數體

8.new Thread( new Runnable() {

public void run() {

System.out.println("truth");

}

}).start();

Thread需要一個實現run方法的類 ---> 取消 new Runnable ---> 取消 public void run ---> () -> { }

9.Predicate:謂詞

java8添加了util.function包,里面包含多個新的@functionalInterface函數式接口,所謂匿名內部類就是其一個實現

10.匿名內部類:

1.方法引用:有了實現,直接引用方法

但是有了類似Runnable()的實現,new Thread(new Runnable)和new Thread(new Runnable::run)有區別嗎。。。好像運行時間會縮短

方法引用不能是一個單獨的方法,必須是 “實現類::方法名“

2.lambda:函數式接口只有一個方法,編譯器自動識別補全代碼

11.lambda表達式又被稱為閉包、匿名函數

12.map:將集合類進行轉換,一一映射

reduce:將所有值合并為一個,折疊操作;max、min、sum等都是

13.申明變量:父類 = 子類實現

因為必須能夠使用所申明變量的所有方法

14.lambda表達式必須使用外界的final類型變量,因為內部類使用外部變量時必須為final類型

可見,lambda是內部類具體方法的實現

總結

以上是生活随笔為你收集整理的java1.8的特性,java1.8新特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。