Java8 教程

Java8 Lambda 表达式返回值

您可以从 Java lambda 表达式中返回值,就像从方法中返回值一样。您只需在 lambda 函数体中添加一个 return 语句,如下所示:

(param) -> {
    System.out.println("param: " + param);
    return "return value";
}

如果您的 lambda 表达式只是计算返回值并将其返回,您可以用更简短的方式指定返回值。例如:

(a1, a2) -> { return a1 > a2; }

你可以这样写:

(a1, a2) -> a1 > a2;

然后,编译器会计算出表达式 a1 > a2 是 lambda 表达式的返回值(因此称为 lambda 表达式 —— 因为表达式会返回某个值)。

示例

该示例使用 @FunctionalInterface 自定义一个函数式接口,然后通过 lambda 表达式实例化该函数式接口,且返回一个字符串。例如:

package com.hxstrive.jdk8.lambda;

/**
 * Java8 lambda 表达式
 * @author hxstrive.com
 */
public class LambdaDemo2 {

    @FunctionalInterface
    public interface MyFunctionalInterface {
        // 抽象方法
        String say(String message);
    }

    public static void main(String[] args) {
        MyFunctionalInterface my = (message) -> {
            return "Hello " + message;
        };

        // 调用 say() 方法
        System.out.println(my.say("Lambda"));
    }
    
}

运行示例,输出如下:

Hello Lambda
说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号