在Java8中声明一个函数,函数体的实现可以有两种方式:
1.表达式函数体:函数体是由单个表达式构成的,可以用这个表达式作为完整的函数体,并去掉花括号和return语句。
例如判断一个Integer变量是否大于100,由于只有一句表达式,可以省略掉花括号和return语句。
Predicate<Integer> test = a -> a > 100;
2.代码块函数体:函数体是由多条语句或者表达式构成的,函数体写在花括号中,不能省略return语句。
例如判断一个Integer变量加10后,是否大于100,由于我使用了2条表达式,所以需要花括号和return语句。
Predicate<Integer> test = a -> {
a = a + 10;
return a > 100;
};