最新消息:vps推荐

java8 Lambda 表达式

java Terry 397浏览 0评论

语法

(parameters) -> expression
或
(parameters) ->{ statements; }

语法很简单,当一个入参时括号可以省略。

实例

// 1. 不需要参数,返回值为 5  
() -> 5  
  
// 2. 接收一个参数(数字类型),返回其2倍的值  
x -> 2 * x  
  
// 3. 接受2个参数(数字),并返回他们的差值  
(x, y) -> x – y  
  
// 4. 接收2个int型整数,返回他们的和  
(int x, int y) -> x + y  
  
// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)  
(String s) -> System.out.print(s)

函数接口

函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。

package me.yanand;

public class TestLambda {

    public static void main(String[] args) {
        HiService hiService = msg -> {return "Hi!"+msg;};

        System.out.println(hiService.getMessage("test"));
    }

    interface HiService{
        String getMessage(String msg);
    }
}

转载请注明:Terry's blog » java8 Lambda 表达式

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址