首页 > 编程语言 >Java中的Lambda

Java中的Lambda

时间:2024-03-28 20:34:20浏览次数:29  
标签:run 函数 接口 Java public 表达式 Lambda

一、Lambda是什么?

Lambda表达式是JDK 8开始新增的一种语法形式,其作用为简化匿名内部类的代码写法,使用Lambda可以使代码更加简洁

格式:
(被重写方法的形参)->{

被写方法的方法体代码

}

二、使用步骤

原来我们会使用匿名内部类来实现接口,例如这样
public class test {
public static void main(String[] args) {
Animal a = new Animal() {
@Override
public void run() {
System.out.println(“小狗跑得快”);
}
};
a.run();
}
}
abstract class Animal{
public abstract void run();
}

但是使用Lambda会简便许多:
public class test {
public static void main(String[] args) {
run r = ()->{
System.out.println(“小狗跑得快”);
};
r.run();
interface run{
void run();
}
这样就实现了匿名内部类的简化

注意事项

1.Lambda表达式只能简化函数式接口的匿名内部类,函数式接口就是在⼀个接口中,要求实现类必须实现的抽象方法,有!而且只!有!⼀!个!这样的接口,就是函数式接口。
2.别忘了大括号后的分号
3.将来我们见到的大部分函数式接口,上面都可能会有一个@FunctionalInterface的注解,有这样注解的一定就是函数式接口啦~

总结

1.Lambda表达式的作用是啥:
**简化代码:**Lambda表达式可以让你用更简洁的方式编写代码,避免了使用匿名内部类时的冗长的语法。

**函数式编程:**Lambda表达式使Java具备了函数式编程的能力,可以更方便地使用函数式接口,并进行函数式编程的思想。

**增强API:**Java 8引入了大量新的API,这些API广泛使用了Lambda表达式,使得API更加灵活和易于使用。

**并行处理:**Lambda表达式与Stream API一起使用,可以方便地实现并行处理,充分利用多核处理器的性能。

2.什么是函数式接口
在Java中,函数式接口(Functional Interface)是指仅仅包含一个抽象方法的接口。这种接口设计用于支持函数式编程风格,其中函数可以作为参数传递给方法,或者作为返回值从方法返回。

标签:run,函数,接口,Java,public,表达式,Lambda
From: https://blog.csdn.net/2201_75378283/article/details/137050054

相关文章

  • Java接口应用代码示例
    1.概念在Java中接口是一个抽象的数据类型,在接口里面我们会定义类应该遵循的行为规范,并不会去具体实现,只是告诉了接了该接口的类一定要实现些什么方法。接口中可以有常量、方法和嵌套类型的声明(就是在该接口内部定义其他类型,如接口、类、枚举)。一个接口可以被多个类去实现,一......
  • java计算机毕业设计(附源码)学生日常行为评分系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在教育过程中,学生的行为举止不仅反映了个人素养,也是学校文化和教育质量的直接体现。传统的德育评价体系多依赖于教师的主观观察和判断,这种方式往往存在一......
  • java计算机毕业设计(附源码)学生社团管理系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着教育多元化的推进,学生社团作为校园文化的重要组成部分,在培养学生兴趣爱好、提升实践能力、促进人际交往等方面发挥着不可替代的作用。然而,伴随着社团......
  • JAVA8-Lambda表达式
    Lambda表达式是Java8中引入的一项特性,它提供了一种简洁的方法来表示只有一个方法的接口(即函数式接口)的实例。Lambda表达式通常用于创建匿名方法。这种表达式是函数式编程的核心,允许开发者写出更简洁、更灵活的代码。Lambda表达式的结构Lambda表达式的一般形式是(参数列......
  • 包机制、JavaDoc
    包机制*代表导入这个包下所有的类!JavaDocJava的api帮助文档:https://docs.oracle.com/javase/8/docs/api/index.html/***@authorxqstudy*@version1.0*@since3.28*/publicclassDoc{Stringname;/****@paramname*@retur......
  • java-String类
    1,字符串构造分为三种方法:Strings1="helloworld";Strings2=newString("helloworld");char[]array={'h','e','l','l','o'};Strings3=newString(array)String为引用类型,存储的并不是字符本身。Strings1=......
  • java毕业设计基于微信小程序的电影售票系统[附源码]
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义随着移动互联网的快速发展,微信小程序作为一种新型的应用形式,以其无需下载安装、使用方便的特点,受到了广大用户的青睐。电影作为一种重要的娱乐方式,已经成为了人们......
  • 当 go 与 Java 相碰时,有什么不同?
    Go与Java全面对比及实际应用学习指南第一部分基础内容分析引言在快速发展的软件行业中,编程语言的选择对于项目的成功至关重要。Go与Java是目前两个非常流行的编程语言,本文将深入剖析这两种语言的特点,并对它们进行全面的比较。历史与哲学Go语言由Google在2009年推出,目......
  • 重生前端之我在javascript敲代码(03-数组)
    一.数组(重点)思考:如何保存一个班级的所有学生的姓名?回答:一种方法利用前面学习过的知识,则每一条信息都需要一个变量去保存,缺点是这样做很麻烦,而且容易出错,又不合理;另一种方法就是利用数组。概念:数组是存储一系列值的变量集合,可以存储多个值。1.1语法数组构成:数组由一个或......
  • JavaScript数据类型
    JS数据类型整体分为两大部分:基本数据类型引用数据类型基本数据类型    Number数字型    数学中学习到的数字,可以是整数,小数,正数,负数。    JavaScript中的正数,负数,小数等统一称为数字类型。 注意事项    JS是弱数据类型,变量到底......