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

电商网站建设课件宁波网络推广平台

电商网站建设课件,宁波网络推广平台,深圳制作网站推荐,推荐一些做电子的网站🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 JavaSE核心知识点03高级特性03-04&#xff0…

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

    • JavaSE核心知识点03高级特性03-04(Lambda表达式)
      • 一、Lambda表达式简介
      • 二、Lambda表达式基础语法
        • 示例对比:Lambda vs 匿名内部类
      • 三、函数式接口(Functional Interface)
        • 自定义函数式接口:
      • 四、Lambda表达式使用场景
        • 1. 替代匿名内部类
        • 2. 集合操作与Stream API
        • 3. 作为方法参数
      • 五、Lambda表达式进阶特性
        • 1. 方法引用(Method Reference)
        • 2. 变量作用域
        • 3. 类型推断
      • 六、注意事项
      • 七、综合示例


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

在这里插入图片描述

JavaSE核心知识点03高级特性03-04(Lambda表达式)

让我们一步步深入了解Java中的Lambda表达式。

一、Lambda表达式简介

Lambda表达式是Java 8引入的一种简洁的匿名函数写法,主要用于简化函数式接口(仅含一个抽象方法的接口)的实现。它使得代码更简洁、易读,尤其在处理集合和并发任务时效果显著。


二、Lambda表达式基础语法

Lambda的基本结构如下:

(参数列表) -> { 方法体 }
  • 参数列表:与接口方法参数一致,类型可省略。
  • 箭头符号->:分隔参数和方法体。
  • 方法体:单行代码可省略{}return,多行则必须使用。
示例对比:Lambda vs 匿名内部类

匿名内部类

Runnable r = new Runnable() {@Overridepublic void run() {System.out.println("Hello World");}
};

Lambda表达式

Runnable r = () -> System.out.println("Hello World");

三、函数式接口(Functional Interface)

函数式接口是Lambda表达式的核心,Java内置了多种常用接口:

接口方法用途
Runnablevoid run()无参无返回值
Consumer<T>void accept(T)消费一个参数
Supplier<T>T get()提供返回值
Function<T,R>R apply(T)接收T类型,返回R类型
Predicate<T>boolean test(T)条件判断
自定义函数式接口:
@FunctionalInterface
interface Greeting {void sayHello(String name);
}// 使用Lambda
Greeting greet = name -> System.out.println("Hello, " + name);
greet.sayHello("Alice"); // 输出:Hello, Alice

四、Lambda表达式使用场景

1. 替代匿名内部类

简化事件监听、线程创建等代码:

// 传统方式
new Thread(new Runnable() {@Overridepublic void run() {System.out.println("Running!");}
}).start();// Lambda方式
new Thread(() -> System.out.println("Running!")).start();
2. 集合操作与Stream API

结合Stream处理集合,代码更简洁:

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");// 过滤并打印长度>3的名字
names.stream().filter(name -> name.length() > 3).forEach(System.out::println);
// 输出:Alice, Charlie
3. 作为方法参数

传递行为而非值:

public static void processList(List<Integer> list, Consumer<Integer> processor) {for (Integer num : list) {processor.accept(num);}
}// 调用
processList(Arrays.asList(1, 2, 3), num -> System.out.println(num * 2));
// 输出:2, 4, 6

五、Lambda表达式进阶特性

1. 方法引用(Method Reference)

进一步简化Lambda,四种形式:

  • 静态方法类名::方法名
  • 实例方法对象::方法名
  • 任意对象的实例方法类名::方法名
  • 构造方法类名::new

示例:

// Lambda写法
Consumer<String> c1 = s -> System.out.println(s);
// 方法引用
Consumer<String> c2 = System.out::println;List<String> names = Arrays.asList("Alice", "Bob");
names.forEach(System.out::println); // 输出每个元素
2. 变量作用域

Lambda可以访问final或等效final的局部变量:

int limit = 5; // 等效final
List<Integer> numbers = Arrays.asList(1, 2, 3, 6);
numbers.stream().filter(n -> n < limit) // 正确:limit不可修改.forEach(System.out::println);
3. 类型推断

编译器根据上下文推断参数类型:

// 完整写法
Function<String, Integer> f1 = (String s) -> s.length();
// 简化写法(省略类型)
Function<String, Integer> f2 = s -> s.length();

六、注意事项

  1. 仅用于函数式接口:Lambda只能替代单一抽象方法的接口。
  2. 省略规则
    • 单参数可省略()s -> s.length()
    • 单行代码可省略{}return(a, b) -> a + b
  3. this关键字:Lambda中的this指向外部类,而非Lambda自身。

七、综合示例

场景:使用Lambda和Stream对用户列表进行排序和过滤。

List<User> users = Arrays.asList(new User("Alice", 25),new User("Bob", 30),new User("Charlie", 20)
);// 按年龄排序,过滤年龄≥25,提取用户名
List<String> names = users.stream().sorted((u1, u2) -> u1.getAge() - u2.getAge()).filter(u -> u.getAge() >= 25).map(User::getName).collect(Collectors.toList());System.out.println(names); // 输出:[Alice, Bob]

通过以上内容,你应该能够掌握Lambda的基本用法和常见场景。建议多实践,尝试将现有的匿名类重构为Lambda,并熟悉Stream API的使用,以充分发挥Lambda的优势。



📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

http://www.dtcms.com/wzjs/188180.html

相关文章:

  • 帮别人做网站市场价优化营商环境个人心得
  • 没有网站可以做app吗北京网站推广助理
  • 长沙建网站设计公司十大搜索引擎神器
  • 万全网站建设wl17581游戏推广员判几年
  • 360免费网站空间今日军事新闻最新消息新闻报道
  • 网络营销就是建立企业网站建网站设计
  • 网上搞钱的野路子靠谱seo外包定制
  • 怎样做网站用html优化关键词排名外包
  • 用什么做网站的访问量统计网红推广接单平台
  • 盂县在线这个网站是谁做的品牌营销推广策划公司
  • 大兴模板网站建设图片seo优化是什么意思
  • 房产网站案例长沙本地推广
  • 国内最最早做虚拟货币的网站必应搜索引擎怎么样
  • 大连网站快速制作全面的seo网站优化排名
  • 江门做网站多少钱安卓在线视频嗅探app
  • 网站建设服务好公司排名可以建网站的网络公司有哪些
  • wordpress减少请求网络优化seo薪酬
  • 做代收水果是什么网站百度网页游戏中心
  • 厦门网站建设建站中心自己的网站怎么在百度上面推广
  • 承德网站建设制作百度商家平台登录
  • 电商网站首页设计规范新闻10条摘抄大全
  • 做企业福利网站起名软文的概念
  • 临邑建设局网站推广引流平台app大全
  • 网站框架建设网络排名优化软件
  • 住房和城乡建设部网站科技项目如何搭建一个自己的网站
  • 东营企业自助建站兰州seo公司
  • 湘潭做网站 就问磐石网络seo网站推广工作内容
  • 做电影资源网站违法吗baidu优化
  • 做设计的都用那些网站seo怎么发布外链
  • 安徽关键词seoseo系统源码出售