主题2:基本语法

基本组成要素:

lambda表达式的语法由 参数列表、箭头符号->、函数体 组成;

参数列表:

由于目标类型(函数式接口)已经“知道” lambda 表达式的形式参类型,所以我们没有必要把已知类型再重复一遍。也就是说,lambda 表达式的参数类型可以从目标类型中得出(形参类型省略):

Comparator<String> c = (s1, s2) -> s1.compareToIgnoreCase(s2);

如果lambda只有一个参数,可以省略圆括号(考虑可读性,保留为好)。

FileFilter java = f -> f.getName().endsWith(".java");  

函数体:

函数体可以是表达式,也可以是代码块;

表达式:

    表达式会被执行然后返回执行结果;如果表达式没有执行结果,则表示接口类型的方法没有返回类型。使用表达式作为函数体时,就不需要额外的分号表示结束了。

如果目标类型的方法没有返回值,则只会执行函数体

Runnable t = ()-> System.out.println(12);

代码块:

代码块中的语句会被依次执行,就像方法体中的语句一样:

(1)return用来返回结果或结束方法调用.

(2)break 和 continue 只能在循环中使用

(3)如果函数体有返回值,那么函数体内部的每一条路径都必须返回值??

interface At{
     String a();
}

At a = ()->{
     System.out.println("aaaaaaaaaaa");
     return "aaaaaa";
};

猜你喜欢

转载自www.cnblogs.com/zyj-468161691/p/12213188.html