Java Lambda表达式详解与实例

1. 什么是Lambda表达式?

  • Lambda表达式是Java 8引入的一种新特性,它提供了一种简洁、优雅的编程方式,可以让我们编写更加简洁、易读的代码。本文将详细介绍Java Lambda表达式的基本语法、特点和示例代码。
  • Lambda表达式(Lambda Expression)是一种匿名函数,它允许我们将函数作为方法的参数传递。Lambda表达式的主要目的是简化代码,使其更加简洁、优雅。在Java中,Lambda表达式主要用于实现函数式接口(Functional Interface)。 

2. Lambda表达式的基本语法

  Lambda表达式的基本语法如下:

(parameters) -> expression

 或者

(parameters) -> { statements; }
  • parameters:表示Lambda表达式接受的参数列表。参数类型可以省略,编译器可以自动推断。
  • ->:表示Lambda表达式的开始。
  • expression:表示Lambda表达式的返回值。如果Lambda表达式只有一条语句,可以省略大括号和return关键字。
  • statements:表示Lambda表达式的代码块。如果有多条语句,需要使用大括号包围。

   以下是几个Lambda表达式的例子:

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

(a, b) -> a + b;

(s) -> { System.out.println(s); return s.length(); };

 

3. Java Lambda表达式示例 

3.1 实现Runnable接口

使用Lambda表达式实现Runnable接口:

public class LambdaExample {
    public static void main(String[] args) {
        Runnable runnable = () -> System.out.println("Hello, World!");
        new Thread(runnable).start();
    }
}

运行结果:

 

 

3.2 实现Comparator接口

使用Lambda表达式实现Comparator接口对列表进行排序:

public class LambdaExample {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        names.sort((s1, s2) -> s1.length() - s2.length());
        System.out.println(names);
    }
}

运行结果:

 

 

3.3 自定义函数式接口

使用Lambda表达式实现自定义的Greeting接口:

public class LambdaExample {
    public static void main(String[] args) {
        Greeting greeting = (name) -> System.out.println("Hello, " + name + "!");
        greeting.sayHello("World");
    }
}

@FunctionalInterface
interface Greeting {
    void sayHello(String name);
}

 运行结果:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值