• java8新特性-函数式接口


    函数式接口
    消费型接口 Consumer<T> void accept(T t);
    供给型接口 Supplier<T> T get();
    函数型接口 Function<T> R apply(T t);
    断定型接口 Predicate<T> boolean test(T t);

    只定义【一个抽象方法】的接口
        只能有一个抽象方法
        可以有静态方法和默认方法,因为这两种方法都是已经实现的了
        可以包含Object里所有能重写的方法,因为即使接口包含像String toString()这样的抽象方法,它的实现类也会因继承了Object类,而再次对接口中的toString()方法进行实现。
    注:哪怕有很多默认方法,只要接口只定义了一个抽象方法,它就仍然是一个函数式接口。

    1)函数式接口的作用
    方便直接用Lambda表达式构造出实例,让代码更加简洁
    Lambda表达式允许你直接以内联的形式为函数式接口的抽象方法提供实现,并把整个表达式作为函数式接口的实例。
    你用匿名内部类也可以完成同样的事情,只不过比较笨拙。
    Comparator<String> c = new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o2.length()-o1.length();
            }
        };
    //函数式编程 : 参数+返回值
        Comparator<String> d = (o1,o2)->o2.length()-o1.length();

  • 相关阅读:
    ms4w php配置xdebug
    转载: js 调用父窗口函数-iframe父窗口和子窗口相互的调用方法
    禁止apache列出站内目录
    块元素和行内元素之间的转换,overflow与visibility
    float浮动定位
    绝对定位和固定定位
    相对定位
    边框样式的设置
    div盒子模型
    CSS修饰表格
  • 原文地址:https://www.cnblogs.com/yxj808/p/14960150.html
Copyright © 2020-2023  润新知