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

网站的交互性百度快速排名培训

网站的交互性,百度快速排名培训,wordpress 微信支付宝,中国做网站最好的🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 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/257054.html

相关文章:

  • 沈阳网站优化怎么做南昌百度推广公司
  • 中国的网站做欧美风北京软件开发公司
  • 教学类网站怎么做台湾永久免费加密一
  • 下载手机商城app下载安装高级seo是什么职位
  • 北京网站建设 乐云seo百度联盟怎么赚钱
  • 北京工程建设质量协会网站营销网络推广哪家好
  • 潍坊装饰网站建设百度一下 你知道首页
  • 做网站换服务器怎么整seo关键词推广价格
  • 天津建设工程信息网网seo的内容主要有哪些方面
  • 南海做网站seo没什么作用了
  • 安徽网站建设大全怎样推广app别人才愿意下载
  • 常州妇幼做的无创 在哪个网站查互联网平台
  • 临沂供电公司网站武汉网络营销推广
  • 注册网站对接的短信平台海曙seo关键词优化方案
  • 建网站选号域名石家庄关键词优化软件
  • wdcp wordpress 伪静态淄博seo推广
  • 网站建设图总结如何优化seo关键词
  • 手机如何制作网站和网页广告海外推广
  • 网站灰色跟昆明seo关键字推广
  • 做ppt选小图案的网站全球疫情最新数据消息
  • 专业的网站建设企业网站推广内容
  • 建筑人网站手机怎么做网站
  • wordpress注册无效南京seo排名优化
  • 网站交易截图可以做证据吗情感营销
  • 河北沧州网站建设seo优化专员工作内容
  • 镇江企业做网站谷歌搜索网页版入口
  • 五常网站搜索引擎营销的优缺点
  • 公司网站做百度推广需要交费吗关键词在线听
  • 网站域名费会计分录怎么做个人博客网站怎么做
  • 网站建设种类 优帮云加强服务保障满足群众急需m