zoukankan      html  css  js  c++  java
  • 不带,以及带参数,带返回值的Lambda表达式

    无参数无返回值

    package com.wcy;
    //lambda推导必须存在类型
    public class Lambda {
        //静态内部类
        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{
                public void lambda() {
                    System.out.println("I like lambda3");
                }
            }
            like = new Like3();
            like.lambda();
            //匿名内部类
            like = new ILike() {
                public void lambda() {
                    System.out.println("I like lambda4");
                }    
            };
            like.lambda();
            //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 lambda1");
        }
    }

    带参数

    package com.wcy;
    public class Lambda2{
        public static void main(String[] args) {
            ILove love=(int a)->{    //可以省略int,自定跟接口匹配。只有一个参数的时候()也可以省略,如果只有一行代码,{ }也可以省略!
                System.out.println("i love lambda  "+a);
            };
            love.lambda(100);
            
            love=(a)->{    //省略int 自定跟接口匹配
                System.out.println("i love lambda  "+a);
            };
            love.lambda(99);
    
            love=a->{    //只有一个参数的时候 ()也可以省略
                System.out.println("i love lambda  "+a);
            };
            love.lambda(98);
        }
    }
    interface ILove{
        void lambda(int a);
    }

    带参数的带返回值的

    package com.wcy;
    public class Lambda3 {
        public static void main(String[] args) {
            ILove love=(int a,int b)->{  
                System.out.println("i love lambda  "+(a+b));
                return a+b;
            };
            System.out.println(love.lambda(100,200));
        } 
    }
    interface ILove{
        int lambda(int a,int b);
    }

    带参数的带返回值的

    package com.wcy;
    public class Lambda3 {
        public static void main(String[] args) {
            ILove love=(int a,int b)->{  
                System.out.println("i love lambda  "+(a+b));
                return a+b;
            };
            love.lambda(12, 16);
            
            love=(a,b)->{  
                System.out.println("i love lambda  "+(a+b));
                return a+b;
            };
            love.lambda(12, 10);
            
            love=(a,b)->{ 
                return a+b;
            };
            System.out.println(love.lambda(12, 8));
            
            love=(a,b)->a+b;
            System.out.println(love.lambda(12, 6));
        } 
    }
    interface ILove{
        int lambda(int a,int b);
    }
  • 相关阅读:
    PVT--无卷积密集预测的多功能backbone
    MobileNet系列之MobileNet_v3
    MobileNet系列之MobileNet_v2
    CVPR2021 | 开放世界的目标检测
    Siamese network总结
    文字识别OCR开源框架的对比--Tesseract vs EasyOCR
    CVPR2021|一个高效的金字塔切分注意力模块PSA
    Boltdb学习笔记之二--数据结构
    C++关键字之likely和unlikely
    Boltdb学习笔记之〇--概述
  • 原文地址:https://www.cnblogs.com/Galesaur-wcy/p/14056625.html
Copyright © 2011-2022 走看看