zoukankan      html  css  js  c++  java
  • Java8 ~ 特性

    Java8 特性1 

    函数式编程

      将方法和lambda作为一等值;

      在没有可变共享状态时,函数或方法可以有效、安全的并行执行。

      

    行为参数化

      行为参数化可以帮助处理频繁变更的需求的一种软件开发模式。

      让方法接受多种行为作为参数,并在内部使用,来完成不同的行为。

      将方法的行为参数化了。
      行为参数化的好处在于可以将迭代要筛选的集合的逻辑与集合中每个元素应用的行为区分开来。

      多种行为,一个参数.

    特点:

    • 行为参数化,就是一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力。
    • 行为参数化可以让代码更好地适应不断变化的需求,减轻未来的工作量。
    • 传递代码,就是将新行为作为参数传递给方法。
    • Java API包含很多可以使用不同行为进行参数化的方法,包括排序、线程和GUI处理。

    软件工程原则 DRY (Don't Repeat YouSelf)

    Lambda

    lists.sort(Comparator.comparing(User::getAge));
    Thread thread = new Thread(() -> System.out.println("123"));

    特点

      匿名、函数、传递、简洁
    组成:参数、箭头和主体

    例子:
      (String s) -> s.length()
      (Apple a) -> a.getWeight() > 150

    (int x, int y) -> {
      System.out.println("Result:");
      System.out.println(x + y);
    }
    (Apple a, Apple b) -> a.getWeight().compareTo(b.getWeight())
    基本语法:
    (parameters) -> expression

    (parameters) -> { statements; }

    where can use:
    函数式接口:函数式接口就是只定义一个抽象方法的接口。
    Predicate<T>
    Consumer<T>
    Function<T, R>

    函数描述符
    环绕执行模式

    原始类型->引用类型 boxing

  • 相关阅读:
    openlayers 聚合效果
    OpenLayers 3 实现轨迹回放
    经纬度和墨卡托互相转换
    OpenLayers 3 给features 添加手势
    OpenLayers 3 实现划线,画点
    C# 在窗体的子线程中创建新窗体
    openlayers 3 读取展示shp文件
    地理信息未来5年规划
    OpenLayers3 实现自定义放大缩小滑块,自定义方向按钮
    2014最后一篇,记ExpandableListViewd的自定义
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/11352775.html
Copyright © 2011-2022 走看看