当前位置: 首页 > 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/494138.html

相关文章:

  • wap网站设计方案太原网站建设价格低
  • 怎么搞一个服务器建设网站典型的电子商务网站有哪些
  • vue做网站的实例wordpress wiki知识库
  • 个人网站界面设计图片建站神器跟wordpress哪个好
  • 怎样自己弄一个网站网页版梦幻西游探案任务攻略
  • 企业建设网站有用么怎么做vip视频网站
  • 大型网站化方案关键词优化
  • 室内设计师联盟官网入口网站优化流程图
  • 做培训的都上哪些网站北京建设网站有哪些公司
  • 企业网站建设总结报告网站开发报价单明细
  • 哪个公司做公司网站好给公司建官网
  • 网站备案换主体吉林网络营销方式优化
  • 网站代码优化怎么做炫酷的网站
  • 绵阳 网站建设网页制作图片代码
  • 做鞋子出口需要作网站吗wordpress域名空间
  • 网站建设的总结与改进asp网站如何搭建
  • 如何做企业网站优化中山建站
  • 小程序登陆官网重庆seo
  • 怎样自己做免费网站购物网站建设要多少钱
  • 湖北省住房和城乡建设部网站肇庆建设工程备案的网站
  • diy网站开发公司佛山网页网站设计多少钱
  • 南京做网站费用凡科网站怎么做友情链接
  • 腾讯cdn加速优化wordpress保定百度关键词优化
  • 电子商务网站设计实验报告长春市建设工程信息网官网
  • 营销软文网站电子商务网站开发技术和工具有哪些
  • 电影网站制作模版廊坊企业自助建站
  • 网站开发建设费用node框架做网站
  • 网站建设手机端是什么意思做汽车商城网站
  • 计算机系毕设代做网站吴江区建设局网站
  • 罗庄建设局网站重庆市建设工程信息网查证件