当前位置: 首页 > news >正文

太仓住房与城乡建设局网站大同建设银行煤炭支行网站

太仓住房与城乡建设局网站,大同建设银行煤炭支行网站,荆州哪里做网站,宁波信息港目录 1、Lambda简介 2、语法介绍 3、Lambda表达式示例 3.1、无参数的 Lambda 表达式 3.2、单个参数的 Lambda 表达式 3.3、多个参数的 Lambda 表达式 3.4、带语句块的 Lambda 表达式 4、Lambda使用场景 4.1、替代匿名内部类 4.2、集合操作 4.3、排序 4.4、函数式接口…

目录

1、Lambda简介

2、语法介绍

3、Lambda表达式示例

3.1、无参数的 Lambda 表达式

3.2、单个参数的 Lambda 表达式

3.3、多个参数的 Lambda 表达式

3.4、带语句块的 Lambda 表达式

 4、Lambda使用场景

4.1、替代匿名内部类

4.2、集合操作

4.3、排序

 4.4、函数式接口

4.4.1、自定义函数式接口

4.4.2、常用内置函数式接口

4.5、方法引用

4.5.1、静态方法引用

4.5.2、实例方法引用

4.5.3、构造方法引用 

5、Lambda 表达式的变量作用域

6、Lambda 表达式的限制

7、总结


 

1、Lambda简介

Java 8 引入了 Lambda 表达式,这是 Java 语言的一个重要特性,使得代码更加简洁和易读。Lambda 表达式允许你将功能作为方法参数传递,或者将代码作为数据来处理。

2、语法介绍

(parameters) -> expression

或者

(parameters) -> { statements; }
  • parameters: 参数列表,可以为空或包含一个或多个参数。

  • ->: Lambda 操作符,将参数和表达式或语句块分开。

  • expression: 单个表达式,Lambda 表达式会返回该表达式的结果。

  • { statements; }: 语句块,可以包含多条语句,需要使用 return 语句返回值(如果有返回值)。

3、Lambda表达式示例

3.1、无参数的 Lambda 表达式

() -> System.out.println("Hello, World!");

3.2、单个参数的 Lambda 表达式

x -> x * x

3.3、多个参数的 Lambda 表达式

(x, y) -> x + y

3.4、带语句块的 Lambda 表达式

(x, y) -> {int sum = x + y;return sum;
}

 4、Lambda使用场景

4.1、替代匿名内部类

Lambda 表达式常用于替代匿名内部类,尤其是在使用函数式接口时。

// 使用匿名内部类
Runnable r1 = new Runnable() {@Overridepublic void run() {System.out.println("Hello, World!");}
};// 使用 Lambda 表达式
Runnable r2 = () -> System.out.println("Hello, World!");

4.2、集合操作

Lambda 表达式可以与 Java 8 引入的 Stream API 结合使用,简化集合操作。

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");// 使用 Lambda 表达式遍历集合
names.forEach(name -> System.out.println(name));// 使用 Lambda 表达式过滤集合
List<String> filteredNames = names.stream().filter(name -> name.startsWith("A")).collect(Collectors.toList());

4.3、排序

Lambda 表达式可以简化排序操作。

List<String> names = Arrays.asList("Charlie", "Alice", "Bob");// 使用 Lambda 表达式排序
names.sort((a, b) -> a.compareTo(b));

 4.4、函数式接口

Lambda 表达式通常与函数式接口一起使用。函数式接口是只包含一个抽象方法的接口。Java 8 提供了许多内置的函数式接口,如 RunnableCallableComparator 等。

4.4.1、自定义函数式接口

你可以定义自己的函数式接口,然后使用表达式实现。

@FunctionalInterface
interface MyFunctionalInterface {void myMethod();
}MyFunctionalInterface mfi = () -> System.out.println("My Method");
mfi.myMethod();

4.4.2、常用内置函数式接口

  • Predicate<T>: 接受一个参数并返回一个布尔值。

  • Consumer<T>: 接受一个参数并执行操作,不返回任何结果。

  • Function<T, R>: 接受一个参数并返回一个结果。

  • Supplier<T>: 不接受参数,返回一个结果。

4.5、方法引用

方法引用是 Lambda 表达式的一种简化形式,用于直接引用已有方法。

4.5.1、静态方法引用

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(System.out::println);

4.5.2、实例方法引用

String str = "Hello";
Supplier<Integer> lengthSupplier = str::length;
System.out.println(lengthSupplier.get());

4.5.3、构造方法引用 

Supplier<List<String>> listSupplier = ArrayList::new;
List<String> list = listSupplier.get();

5、Lambda 表达式的变量作用域

Lambda 表达式可以访问外部的局部变量,但这些变量必须是 final 或事实上是 final 的(即不可变)。

int num = 10;
Runnable r = () -> System.out.println(num); // num 必须是 final 或事实上是 final

6、Lambda 表达式的限制

  • Lambda 表达式只能用于函数式接口。

  • Lambda 表达式不能包含 breakcontinue 语句。

  • Lambda 表达式不能抛出检查异常(除非函数式接口允许)。

7、总结

Java 8 的 Lambda 表达式极大地简化了代码,使得函数式编程在 Java 中变得更加容易。通过 Lambda 表达式,你可以编写更简洁、更易读的代码,尤其是在处理集合、多线程和事件驱动编程时。

http://www.dtcms.com/a/571678.html

相关文章:

  • 怎么把危险网站大学学部网站建设工作
  • 网站做优化一开始怎么做做展示类网站
  • 网站建设需要很强的编程网页设计与网站建设过程
  • 旅游网站规划方案350做网站深圳
  • 加强门户网站建设 信息公开有名的wordpress主题
  • 行业网站推广方案网站建设一般多少钱网址
  • 哪里可以上传自己的php网站python编程100例
  • 公司门户网站首页作业帮小程序入口
  • 北京市建设工程审核网站wordpress插件video player
  • 东盟建设集团重庆工程有限公司网站培训怎么样网页设计
  • 网站有版权吗互联网舆情中心是干嘛的
  • ios手机网站建设seo排名优化软件免费
  • 北京商场面积排名北京网站优化和推广
  • 小说网站建设采集洪涛怎么样海城市建设网站
  • 怎么把网站源码扒下来网站建设公司成就
  • 营销型网站和普通网站的区别全国做网站排行
  • 创建网站用什么语言长域名转换短域名
  • 网站开发公司怎么选择wordpress 收集
  • 企业怎么建设网站建设部网站官网建筑施工合同
  • 专业网站优化公司宁波公司网站建立
  • 济南网站制作经验网站设计师是什么部门
  • 网站开发甘特图网站开发环境的安装说明
  • wordpress能做交互类网站做网站客户端
  • 中国校园网站做的比较好的学校长沙市招聘网
  • 网站备案的规定学做美食饮品网站
  • 品牌设计网站大全云南人才招聘网
  • 电商网站管理系统模板下载wordpress 顶部自定义
  • 建站教程pdf做内容网站 用什么模版
  • 秦淮html5响应式网站wordpress微信底部导航
  • 天河做网站平台粮食网站建设的背景及意义