一、lambda表达式
1、匿名函数
Lambda是一个匿名函数,可以理解为一段可以传递的代码(将代码像数据一样传递);可以写出更简洁、更灵活的代码;作为一种更紧凑的代码风格,使Java语言表达能力得到提升。
2、匿名内部类
/**
* 匿名内部类
*/
@Test
public void test(){
Comparator<Integer> com = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
};
TreeSet<Integer> tree = new TreeSet<>(com);
}
3、lambda表达式
@Test
public void test01(){
Comparator<Integer> com = (o1,o2)->{
return o1.compareTo(o2);
};
//Comparator<Integer> com1 = (o1,o2)->o1.compareTo(o2);
TreeSet<Integer> tree = new TreeSet<>(com);
}
4、基础语法
1、演变历程
垃圾代码 --> 策略模式 --> 匿名内部类 --> Lambda表达式
2、语法格式
/**
* 无参数、无返回值
*/
@Test
public void test02(){
Runnable run = new Runnable(){
@Override
public void run() {
System.out.println("Good");
}
};
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Good");
}
}).start();
Runnable r = ()-> System.out.println("Good");
new Thread(()-> System.out.println("Good"));