zoukankan      html  css  js  c++  java
  • Lambda小结

    image-20210129154613332

    准备知识:函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。简单来说,函数式接口是只包含一个方法的接口。比如Java标准库中的java.lang.Runnable和 java.util.Comparator都是典型的函数式接口。
    java 8提供 @FunctionalInterface作为注解,这个注解是非必须的,只要接口符合函数式接口的标准(即只包含一个方法的接口),虚拟机会自动判断, 但 最好在接口上使用注解@FunctionalInterface进行声明,以免团队的其他人员错误地往接口中添加新的方法。Java中的lambda无法单独出现,它需要一个函数式接口来盛放,lambda表达式方法体其实就是函数接口的实现.

    推演:

    package demo.lambda;
    //推导lambda
    public class Testlambda {
        //静态内部类
        static class Like2 implements Ilike{
            @Override
            public void lambda() {
                System.out.println("22222");
            }
        }
        public static void main(String[] args) {
            //普通类
            Ilike like=new Like();
            like.lambda();
            //静态类
            like = new Like2();
            like.lambda();
            //局部内部类
            class Like3 implements Ilike{
                @Override
                public void lambda() {
                    System.out.println("33333");
                }
            }
            like = new Like3();
            like.lambda();
            //匿名内部类
           like=new Ilike() {
                @Override
                public void lambda() {
                    System.out.println("44444");
                }
            };
            like.lambda();
            //lambda
            like=()->{
                System.out.println("555555");
            };
            like.lambda();
    
        }
    }
    //接口
    interface  Ilike{
        void lambda();
    }
    //实现类
    class Like implements Ilike{
        @Override
        public void lambda() {
            System.out.println("11111");
        }
    }
    
  • 相关阅读:
    redis和memcache的区别
    c语言行编辑程序
    C语言栈的实现
    双向链表
    静态链表的合并
    静态链表的创建
    链表
    将非递减有序排列(L L1)归并为一个新的线性表L2 线性表L2中的元素仍按值非递减
    C语言合并两个集合(L,L1) 将L1中不在L中的元素插入到L线性表中
    oracle--JOB任务
  • 原文地址:https://www.cnblogs.com/xiaxiaopi/p/14345608.html
Copyright © 2011-2022 走看看