博客
关于我
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/

    你可能感兴趣的文章
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>
    OpenMCU(五):STM32F103时钟树初始化分析
    查看>>
    OpenMCU(四):STM32F103启动汇编代码分析
    查看>>
    OpenMetadata 命令执行漏洞复现(CVE-2024-28255)
    查看>>
    OpenMMLab | AI玩家已上线!和InternLM解锁“谁是卧底”新玩法
    查看>>
    OpenMMLab | S4模型详解:应对长序列建模的有效方法
    查看>>
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>
    OpenMMLab | 不是吧?这么好用的开源标注工具,竟然还有人不知道…
    查看>>
    OpenMMLab | 如何解决大模型长距离依赖问题?HiPPO 技术深度解析
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenMP 线程互斥锁
    查看>>
    OpenMV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>