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

开服表网站开发赣州经开区最新规划图

开服表网站开发,赣州经开区最新规划图,怎样做医疗保健网站,大淘客网站开发Java Lambda Lambda 表达式是 Java 8 的核心特性,通过 函数式编程 大幅简化代码。其核心思想是将行为作为参数传递,替代匿名内部类,提升代码的简洁性和可读性。以下是系统解析和完整代码示例: 一、Lambda 表达式基础 语法结构 (…

Java Lambda

Lambda 表达式是 Java 8 的核心特性,通过 函数式编程 大幅简化代码。其核心思想是将行为作为参数传递,替代匿名内部类,提升代码的简洁性和可读性。以下是系统解析和完整代码示例:

一、Lambda 表达式基础
  1. 语法结构

    (参数列表) -> { 代码体 }
    
    • 无参数() -> System.out.println("Hello")
    • 单参数s -> System.out.println(s)(括号可省略)
    • 多参数(a, b) -> a + b
    • 代码块:多行逻辑需用 {} 包裹,显式使用 return
  2. 本质
    Lambda 是 函数式接口(单抽象方法的接口) 的实例,编译时自动转换为接口实现。

    @FunctionalInterface
    interface MyFunction {int apply(int a, int b);
    }
    MyFunction add = (x, y) -> x + y; // Lambda 实现
    
二、核心应用场景与代码示例
1. 替代匿名内部类
// 传统匿名内部类
Runnable oldRunnable = new Runnable() {@Overridepublic void run() {System.out.println("Running");}
};// Lambda 简化
Runnable newRunnable = () -> System.out.println("Running");
2. 集合操作(Stream API)
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");// 遍历
names.forEach(name -> System.out.println(name)); // 输出每个名字// 过滤 + 映射
List<String> result = names.stream().filter(name -> name.startsWith("A")) // 过滤以 A 开头的名字.map(String::toUpperCase)             // 转为大写.collect(Collectors.toList());        // 收集为 List
// 结果: ["ALICE"]// 排序
names.sort((s1, s2) -> s1.compareTo(s2)); // 字典序排序
3. 函数式接口与内置工具
// Predicate(条件判断)
Predicate<String> isLong = s -> s.length() > 3;
System.out.println(isLong.test("Java")); // 输出 true// Consumer(消费数据)
Consumer<String> printer = s -> System.out.println("Consumed: " + s);
printer.accept("Hello"); // 输出 "Consumed: Hello"// Function(数据转换)
Function<Integer, String> intToStr = num -> "Number: " + num;
System.out.println(intToStr.apply(10)); // 输出 "Number: 10"
4. 多线程与事件处理
// 线程启动
new Thread(() -> System.out.println("Thread running")).start();// 按钮事件(Swing)
JButton button = new JButton("Click");
button.addActionListener(e -> System.out.println("Button clicked"));
三、注意事项
  1. 变量捕获
    Lambda 可访问 final 或等效不可变的局部变量(隐式 final)。

    int base = 10;
    Function<Integer, Integer> adder = x -> x + base; // base 需不可变
    
  2. 类型推断
    参数类型可省略,编译器自动推断:

    BinaryOperator<Integer> add = (a, b) -> a + b; // 无需写 (Integer a, Integer b)
    
  3. 方法引用
    进一步简化 Lambda:

    names.forEach(System.out::println); // 等效于 name -> System.out.println(name)
    
四、完整示例代码
import java.util.*;
import java.util.function.*;
import java.util.stream.*;public class LambdaDemo {public static void main(String[] args) {// 1. 函数式接口实现MyFunction multiply = (a, b) -> a * b;System.out.println("5 * 3 = " + multiply.apply(5, 3)); // 输出 15// 2. 集合操作List<String> languages = Arrays.asList("Java", "Python", "C++", "Go");List<String> filtered = languages.stream().filter(lang -> lang.length() > 3).map(String::toUpperCase).collect(Collectors.toList());System.out.println(filtered); // 输出 [JAVA, PYTHON]// 3. 多线程new Thread(() -> {for (int i = 0; i < 3; i++) {System.out.println("Thread: " + i);}}).start();}@FunctionalInterfaceinterface MyFunction {int apply(int a, int b);}
}
输出结果
5 * 3 = 15
[JAVA, PYTHON]
Thread: 0
Thread: 1
Thread: 2

文章转载自:

http://pEfgcPhs.pqhgn.cn
http://RQNnm87b.pqhgn.cn
http://pRrV8zNv.pqhgn.cn
http://66rzznUr.pqhgn.cn
http://lzxOorCb.pqhgn.cn
http://xgJlUfEC.pqhgn.cn
http://VMEVPhSO.pqhgn.cn
http://w9FPRjbG.pqhgn.cn
http://dauyL6eP.pqhgn.cn
http://TYIGQtHw.pqhgn.cn
http://4F2Ye2o0.pqhgn.cn
http://giUF9Obu.pqhgn.cn
http://J5JmzzOb.pqhgn.cn
http://ki7sUqwq.pqhgn.cn
http://zbN5OvMr.pqhgn.cn
http://CrnwCRPc.pqhgn.cn
http://wHlRhAIz.pqhgn.cn
http://GheHytbi.pqhgn.cn
http://PD6fYvAC.pqhgn.cn
http://ZVlNNfeC.pqhgn.cn
http://TyMRHiOU.pqhgn.cn
http://lqVa3tXt.pqhgn.cn
http://uicEl071.pqhgn.cn
http://XrMiCm7j.pqhgn.cn
http://oXPvMlwu.pqhgn.cn
http://Jy88APII.pqhgn.cn
http://lWHjO8zv.pqhgn.cn
http://qoE55qSY.pqhgn.cn
http://VHCqeMzL.pqhgn.cn
http://WybdoMR4.pqhgn.cn
http://www.dtcms.com/wzjs/658286.html

相关文章:

  • 网站建设百度推广说词网站做软件有哪些内容
  • 成都人才网站建设软件设计师是干什么的
  • 新手建站wordpress pre标签
  • 怎么使用网站上的模板wordpress ios7 高度
  • 网站开发参考文献格式外包业务
  • 上饶做网站哪家好哦天眼查询个人 企业查询
  • 静态网站 挂马毕节网站建设与对策分析
  • 帮朋友做网站人被备案了会有什么后果
  • ps做网站 大小wordpress主题不能用
  • 免费学做淘宝的网站眉县网站开发
  • 建设公司网站要注意什么dede网站404怎么做
  • 电商网站的二级怎么做wordpress插件 标签
  • 月子会所网站源码wordpress内置rest api
  • 福建建设厅网站首页咋做网站
  • 重庆网站建设优化排名工作总结2023年个人
  • 谁有人和兽做的网站?跑腿个人网站怎么做
  • 设计需要看的网站有哪些如何在电影网站中做淘客
  • 古建设计网站玉环市建设工程检测中心网站
  • 论坛的网站制作个人网站和企业网站的区别
  • 苏州网站建设 苏州网络推广专家如何看网站做的好坏
  • 有没有人做网站西安logo设计
  • 佛山南海区建设局网站淄博seo推广
  • 商城微网站开发微网站龙岩龙硿洞
  • 网站维护费用一年多少宁波网络营销推广制作
  • 网站买空间的价格怎么做网站推广
  • 快速开发网站的应用程序爱企查企业服务平台
  • 长沙网站制作收费明细表17做网站官网
  • 做网络销售哪些网站比较好南昌优化网站排名
  • 恒佳企划网站建设网站备案信息下载
  • 呼市赛罕区信息网站做一顿饭工作如何查找织梦网站后台