Java8新特性
一、Java8新特新
1、Lambda 表达式
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
使用 Lambda 表达式可以使代码变的更加简洁紧凑。
- 语法
(parameters) -> expression
或
(parameters) ->{ statements; }
- eq
public class Test04 {
static int aa=10;
public static void main(String[] args) {
// 使用lambda表达式
// 不用类型声明
MathOperation sum=(a,b)->a+b;
System.out.println("lambda表达式:"+sum.sum(10,25));
// 带返回值的
sum=(a,b)->{return a+b;};
System.out.println("lambda表达式带返回值:"+sum.sum(23,34));
// 带参数类型
sum=(int a,int b)-> a*b;
System.out.println("lambda参数带类型:"+sum.sum(56,45));
// 无返回值
int bb=10;
final int cc=20;
MathOperation2 sum2=(a,b)->{
System.out.println("lambda无返回值:"+a+b+"="+(a+b));
// Variable used in lambda expression should be final or effectively final
//bb=34;局部变量可以不用声明为 final,但是必须不可被后面的代码修改(即隐性的具有 final 的语义)
a=cc;//可以使用final修饰的局部变量
a=bb;//可以使用普通的局部变量,但不能修改
};
}
}
interface MathOperation{
int sum(int a,int b);
}
interface MathOperation2{
void sum(int a,int b);
}

浙公网安备 33010602011771号