博客
关于我
Day79.Java8的其他新特性复习 -Java8其他新特性
阅读量:341 次
发布时间:2019-03-04

本文共 1965 字,大约阅读时间需要 6 分钟。

Java8?????

Lambda???

Lambda????????????????????????????????Lambda??????????????

Lambda????????

  • ????

    Lambda??????????(????) -> Lambda?
    ???->??lambda????

  • ???????

    • ????????????????????->?
    • ?????????????????????????->?
    • ????????????????????
  • Lambda????

    • ??Lambda????????????{}?????->???
    • ?????????????{}???
  • Lambda????????

  • ?????

    Java8??????????????Runnable?Comparator?Function?BiFunction??????????Lambda??????

  • ????

    Method Reference?????Lambda?????????????????????????

  • ????

    Method Reference???????????????????????????????Lambda???????

    Method Reference???

  • ??????

    ????::???
    ???PrintStream ps = System.out; Consumer<String> con2 = ps::println;

  • ?????

    ??::???
    ???Comparator<Integer> com2 = Integer::compare;

  • ?????

    ??::new
    ???Supplier<Employee> sup2 = Employee::new;

  • Method Reference?????

  • ?????????

    ??????????????????????????????Method Reference?

  • ???????

    Method Reference??????????????Lambda????

  • Stream API

    Stream API?Java8?????????????????????????????????

    Stream?????

  • ????

    employees.stream() ? employees.parallelStream()?

  • ????

    Arrays.stream(int[] array)?

  • ??Stream.of()

    Stream.of(1,2,3,4)?

  • ?????

    Stream.iterate() ? Stream.generate()?

  • Stream?????

  • ?????

    • filter(Predicate p)??????
    • limit(n)????????
    • skip(n)??????
    • distinct()????
  • ??

    • map(Function f)??????
    • flatMap(Function f)??????
  • ??

    • sorted()??????
    • sorted(Comparator c)??????
  • Stream?????

  • ?????

    • allMatch(Predicate p)??????????
    • anyMatch(Predicate p)????????????
    • noneMatch(Predicate p)??????????
    • findFirst()?????????
    • findAny()??????????
  • ??

    • reduce(T identity, BinaryOperator b)????????????
  • ??

    • collect(Collector c)????????????????
  • Optional????

    Optional???????????????????????

    ??Optional??

  • Optional.of(T t)??????Optional???
  • Optional.empty()?????Optional???
  • Optional.ofNullable(T t)?????null?Optional???
  • ????

  • orElse(T t)???Optional??????????????
  • get()???Optional???????????????
  • ??

    Optional
    employeeOptional = Optional.ofNullable(boy);Employee employee = employeeOptional.orElse(new Employee("??"));

    ??Optional??????????????????????????

    转载地址:http://ifoq.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 基于PyTorch语义分割实现洪水识别(数据集 + 源码)
    查看>>
    OpenCV与AI深度学习 | 基于YOLO11的车体部件检测与分割
    查看>>
    OpenCV与AI深度学习 | 基于YOLOv8的停车对齐检测
    查看>>
    OpenCV与AI深度学习 | 基于机器视觉的磁瓦表面缺陷检测方案
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    opencv之模糊处理
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    opencv图像分割2-GMM
    查看>>
    OpenCV学习(13) 细化算法(1)(转)
    查看>>
    OpenCV探索
    查看>>
    opencv笔记(1):图像缩放
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers Source基础及重点内容讲解
    查看>>
    openlayers 入门教程(八):Geoms 篇
    查看>>
    Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers中设置定时绘制和清理直线图层
    查看>>