1,作用:
简化匿名内部类的书写;(相当于对抽象方法的重写)
注意:仅能使用一个抽象方法的接口(此类接口也称:函数式接口)
2,Lambda的表达式基本(无参)格式:形式参数(),箭头->,代码块
a,使用举例:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("常规写法");
}
}).start();
////Lambda表达式:
new Thread(() -> {
System.out.println("xiancen");
}).start();
4,Lambda的带参格式:
a,使用举例:
public class Text01 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(13);
list.add(18);
list.add(34);
list.add(43);
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
System.out.println(list);
Collections.sort(list, (Integer o1, Integer o2) -> {
return 02 - o1;
});
System.out.println(list);
}
}
5,Lambda的省略格式:
a,省略规则:
①参数类型可以省略 (Integer o1, Integer o2) 省略后 (o1, o2)
②如果参数有且仅有一个,那么小括号可以省略 (String s) 省略后 s
③如果代码块的语句只有一条,可以省略{}; 和 return
b,使用举例:
//省略格式:
Collections.sort(list, (o1, o2) -> o2 - o1);
System.out.println(list);