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
说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号