zoukankan      html  css  js  c++  java
  • lambda表达式的使用

    lambda表达式:

    //推导lambda表达式
    public class TestLambda {
        //静态内部类
        static class Like2 implements ILike{
            @Override
            public void lambda() {
                System.out.println("I Like Lambda2!");
            }
        }
        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("I Like Lambda3!");
                }
            }
    
            like = new Like3();
             like.lambda();
    
             //5.匿名内部类
             like = new ILike() {
                 @Override
                 public void lambda() {
                     System.out.println("I Like Lambda4!");
                 }
             };
            like.lambda();
    
             //6.用lambda实现
            like = () -> {
                System.out.println("I Like Lambda5!");
            };
            like.lambda();
        }
    }
    //定义一个函数式接口
    interface ILike{
        void lambda();
    }
    //实现类
    class Like implements ILike{
        @Override
        public void lambda() {
            System.out.println("I Like Lambda!");
        }
    }
    //运行结果:I Like Lambda!
    //		  I Like Lambda2!
    //		  I Like Lambda3!
    //		  I Like Lambda4!
    //		  I Like Lambda5!
    

    lambda的简化:

    public class TestLambda2 {
        public static void main(String[] args) {
            //ILove love = new ILove();
            //love.na("小明");
            Love l1 = (String name) ->{
                System.out.println(name);
            };
            l1.na("红红");
            Love l2 = (name) ->{
                System.out.println(name);
            };
            l2.na("绿绿");
            Love l3 = (name) ->{
                System.out.println(name);
            };
            l3.na("蓝蓝");
        }
    }
    
    interface Love{
        void na(String name);
    }
    class ILove implements Love{
    
        @Override
        public void na(String name) {
            System.out.println("下个就是你-->" + name);
        }
    }
    

    总结:

    1.  lambda表达式只有一行代码的时候才可以省掉花括号。
    2.  使用lambda表达式的前提是必须为函数接口。
    3.  当有参数时,可以去掉参数类型和小括号;当有多个参数可以同时去掉所有参数的类型,但是不能去掉小括号。
    

    刚刚参加工作,很有很多不懂不会的,发现错误,欢迎指正,谢谢!
  • 相关阅读:
    模拟title提示!
    常用CSS缩写语法总结
    cron表达式每个月最后一天,corn表达式使用L报错
    浏览器调试器(F12)详解
    查询重复数据只显示一条并且在规定范围时间内
    java导出统计数据excel设置单元格样式
    微信小程序官方人脸核身认证
    小程序引用app.js中的全局变量
    微信小程序 view中的image水平垂直居中
    MYSQL中的sql_mode模式
  • 原文地址:https://www.cnblogs.com/xd-study/p/13048357.html
Copyright © 2011-2022 走看看