1 package day13.lesson3.p3;
2
3 /*
4 3.3 Lambda表达式支持的方法引用:引用类方法
5
6 引用类方法,其实就是引用类的静态方法
7
8 格式
9 类名::静态方法
10 范例
11 Integer::parseInt
12 Integer类的方法:public static int parseInt(String s) 将此String转换为int类型数据
13
14 练习描述
15 定义一个接口(Converter),里面定义一个抽象方法 int convert(String s);
16 定义一个测试类(ConverterDemo),在测试类中提供两个方法
17 一个方法是:useConverter(Converter c)
18 一个方法是主方法,在主方法中调用useConverter方法
19 */
20 public class ConverterDemo {
21 public static void main(String[] args) {
22 //Lambda表达式
23 /*useConverter((String s) -> {
24 return Integer.parseInt(s);
25 });*/
26 useConverter(s -> Integer.parseInt(s));
27
28 //方法引用之引用类方法
29 useConverter(Integer::parseInt);
30
31 //Lambda被类方法替代时,它的形式参数(s)全部传递给静态方法(parseInt)作为参数
32 }
33
34 private static void useConverter(Converter c){
35 int num = c.convert("666");
36 System.out.println(num);
37 }
38 }
39
40 interface Converter{
41 int convert(String s);
42 }
