栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

lambda表达式概述与使用举例 [Java]

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

lambda表达式概述与使用举例 [Java]

lambda表达式使用举例 lambda表达式是java8中的一个新特性 什么是lambda表达式?

lambda表达式就是一个函数式接口的实例化对象

  • 在很多其他的面向函数编程的语言中我们的lambda表达式就是一个函数,而在java语言中我们的lambda表达式是一个对象 — > 是函数式接口的实例化对象
    • java语言在发行时就提出了 “万事万物皆为对象” 等核心思想
java中为什么要引入lambda表达式?
  • 随着最近几年比如Python语言等面向函数编程的语言的火速崛起,这个时候我们的java语言就要面临这些语言的发展所带来的挑战,这个时候我们的java就需要引入一些其他语言中的优点,这个时候我们就引入了lambda表达式
    • 但是在Python语言中lambda表达式是以函数的形式而存在的,但是在java中我们的lambda表达式是以对象的形式存在的,我们的java中的lambda表达式要依附于函数式接口
lambda表达式的使用举例:

首先我们要知道lambda表达式是在什么时候使用

  • 其实lambda表达式是为了快速产生一个接口的实现类对象 — > 我们就可以将lambda表达式看成是一个内部类的简化
使用情景一: — > 创建Runnable接口的实现类时 这里我们使用一般的方式: —> 也就是使用匿名内部类的方式创建一个Runnable接口的实现类的对象
package Lambda表达式;

public class Demo {
    public static void main(String[] args) {
        
        Runnable runnable = new Runnable(){
            @Override
            public void run() {
                System.out.println("我爱北京天安门");
            }
        };
        //然后我们调用了Runnable接口中的run()方法 --- > 这个方法中执行的就是我们当前线程要执行的操作
        //实现Runnable接口的方式是我们创建多线程的方式二:
        runnable.run();
    }
}

这里我们使用lambda表达式的方式创建这个Runnable接口的实现类的对象
package Lambda表达式;

public class Demo2 {
    public static void main(String[] args) {
        Runnable runnable = () -> {
            System.out.println("我爱北京天安门");
        };
        runnable.run();
    }
}
使用情景二: -----> 创建Comparator接口的实例化对象 首先这里我们先通过使用匿名内部类的方式创建Comparator接口的实例化对象
package Lambda表达式;

import java.util.Comparator;

public class Demo3 {
    public static void main(String[] args) {
        //这个时候我们创建了一个Comparator类对象,且我们指定了泛型Integer
        Comparator comparator = new Comparator<>(){
            @Override
            public int compare(Integer o1 , Integer o2){
                //我们在这个重写的Comparator接口中的compare()方法中调用了Integer类中的compare()静态方法进行比较
                return Integer.compare(o1,o2);
            }
        };
        System.out.println(comparator.compare(1, 2));
    }
}

这里我们使用lambda表达式的方式创建Comparator接口实现类的对象
package Lambda表达式;

import java.util.Comparator;

public class Demo4 {
    public static void main(String[] args) {
        Comparator comparator = (o1,o2) -> {
          return Integer.compare(o1,o2);
        };
        System.out.println(comparator.compare(1, 2));
    }
}
  • 这里我们要说: 如果我们要删除 ->右边的{} ,这个时候我们一定要将return一起删掉, 如果我们只删除了 {}或者只删除了return,这个时候编译就会报错
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665482.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号