Java-lambda表达式

简介: Java-lambda表达式


17 篇文章0 订阅

订阅专栏

lambda表达式的语法

语法如下:

(参数) ->{表达式}

注意:

  1. 没有参数时,( ) 不能省略,就像无参构造那样。
  2. 当可以推断出表达式的参数类型,可以将参数类型省略。
  3. 当只有一个参数,且参数类型可以推断出,那么可以将 ( ) 省略。
  4. 无需指定lambda表达式的返回类型,返回类型总是可以根据上下文推导而出。
  5. 当表达式只有一个语句,并且没有返回值,可以省略 { }

labdam表达式的使用

只有一个抽象方法的接口称为函数式接口,当我们需要这样的接口对象时,我们就可以用lambda表达式来代替

例一

未使用lambda表达式时,通过实现Runnable接口创建线程如下:

public class LambadExpression {
    public static void main(String[] args) {
        Thread t = new Thread(new myRunnable());
        t.start();
    }
}
class myRunnable implements Runnable{
    public void run(){
        System.out.println("传统方法的Runnable!");
    }
}

使用lambda表达式后:

public class LambadExpression {
    public static void main(String[] args) {
       Thread t = new Thread(()-> System.out.println("lambad!"));
        t.start();
    }
}

例二

实现一个排序字符串数组的构造器,排序规则为:按字符串长度排序,在lambda表达式之前代码如下:

Arrays.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.length() - o2.length();
            }
        });

使用lambda表达式之后代码如下:

Arrays.sort(list,(a,b)-> {return a.length() - b.length();});


相关文章
|
1月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
1月前
|
Java
JAVA表达式
JAVA表达式
15 0
|
18天前
|
XML 数据可视化 前端开发
java正则表达式
java正则表达式
|
1天前
|
Java 编译器 API
Java基础教程(17)-Java8中的lambda表达式和Stream、Optional
【4月更文挑战第17天】Lambda表达式是Java 8引入的函数式编程特性,允许函数作为参数或返回值。它有简洁的语法:`(parameters) -> expression 或 (parameters) ->{ statements; }`。FunctionalInterface注解用于标记单方法接口,可以用Lambda替换。
|
3天前
|
Java 程序员 编译器
JavaSE&Java8 Lambda 表达式
JavaSE&Java8 Lambda 表达式
|
7天前
|
并行计算 Java 编译器
Java Lambda表达式简介
Java Lambda表达式简介
12 0
|
8天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。
|
11天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【4月更文挑战第16天】本文将介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种新的编程语法,它允许我们将函数作为参数传递给其他方法,从而使代码更加简洁、易读。Stream API是Java 8中引入的一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而使代码更加简洁、高效。本文将通过实例代码详细讲解这两个新特性的使用方法和优势。
|
15天前
|
Java
Java 14 强势登场:Switch 表达式的进化之路
Java 14 强势登场:Switch 表达式的进化之路
18 0
|
17天前
|
Java 开发者
Java中的Lambda表达式:简洁、灵活的编程利器
在现代软件开发中,编写简洁、高效的代码是至关重要的。Java中的Lambda表达式为开发者提供了一种简洁、灵活的编程方式,使得代码更具可读性和可维护性。本文将探讨Lambda表达式的基本概念、语法结构以及在实际项目中的应用,以帮助读者更好地理解和运用这一强大的编程工具。
6 0