• Java_Lambda


    匿名内部类与Lambda

    匿名内部类:必须基于抽象类或接口,主要目的是减少程序中类的定义

    interface IMessage{  
        public void print(String info); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMessage msg = new IMessage() { //匿名内部类
                @Override
                public void print(String info) {
                    System.out.println(info);
                }
            };        
            msg.print("Hello");
        }    
    }

    Lambda可以实现更简单的匿名内部类的使用

    两种方法体:

    (参数) -> 程序执行的语句;

    (参数) -> {多行程序执行的语句};

    (参数) ->  表达式;

    interface IMessage{  
        public void print(String info); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMessage msg = (info) -> System.out.println(info);    
            msg.print("Hello");
        }    
    }
    interface IMath{  
        public int add(int x,int y); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMath msg = (i, j) -> {
                int result = i + j;
                System.out.println(i);
                System.out.println(j);
                System.out.println(result);
                return result;
            };
            System.out.println(msg.add(10, 20));
        }    
    }
    interface IMath{  
        public int add(int x,int y); 
    }
    
    public class Hello{
        public static void main(String[] args) {
            IMath msg = (i, j) -> i + j; //没有return
            System.out.println(msg.add(10, 20));
        }    
    }
  • 相关阅读:
    phpcms 短信替换
    phpcms 搭建宣传网站首页
    JDK 8
    MySQL 5.6 date 与 string 的转换和比较
    Illustration of Git branching and merge
    Anti-pattern(反模式)
    Design Patterns笔记
    MyBatis小抄
    MyBatis MapperScannerConfigurer
    MyBatis 批量插入数据对插入记录数的限制
  • 原文地址:https://www.cnblogs.com/lonske/p/8797566.html
Copyright © 2020-2023  润新知