跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Lambda表达式怎么用?全面解析!

文章导读

大家好,我是顺亿。今天我们来聊聊Lambda表达式,这个Java 8引入的新特性。Lambda表达式可以让我们的代码更加简洁、优雅,尤其在处理集合操作时,它能大大简化代码结构。本文将全面解析Lambda表达式,包括其基本用法、方法引用和构造器引用等,让你轻松掌握这个强大的工具。

入门

Lambda表达式可以看作是匿名内部类的简化版。它主要用于实现只有一个抽象方法的接口,也就是函数式接口。Java 8提供了@FunctionalInterface注解来标识函数式接口。

类名引用静态方法

public class Test3 {
    private static void printAbs(int num, Calcable calcable) {
        System.out.println(calcable.calc(num));
    }

    public static void main(String[] args) {
        //lambda表达式      
        printAbs(-10, num -> Math.abs(num));
        //方法引用        
        printAbs(-10, Math::abs);
    }
}

@FunctionalInterface
interface Calcable {
    int calc ( int num);
}

class Math {
    public static int abs(int num) {
        if (num < 0) {
            return -num;
        } else {
            return num;
        }
    }
}

对象名引用方法

public class Test3 {
    private static void printAbs(int num, Calcable calcable) {
        System.out.println(calcable.calc(num));
    }

    public static void main(String[] args) {
        Math math = new Math();
        //lambda表达式       
        printAbs(-10, num -> math.abs(num));
        //方法引用        
        printAbs(-10, math::abs);
    }
}

@FunctionalInterface
interface Calcable {
    int calc(int num);
}

class Math {
    public int abs(int num) {
        if (num < 0) {
            return -num;
        } else {
            return num;
        }
    }
}

构造器引用

public class Test3 {    
    private static void printName(String name, PersonBuild build){  
        System.out.println(build.buildPerson(name).getName()); 
    }    
    public static void main(String[] args) {     
        //lambda表达式        
        printName(
                            

相关文章