Java --> Lambda表达式

 

 

首先来个错误示范以加深印象:

 注 :Lambda表达式只能简化函数式接口的匿名内部类

例子:Lambda表达式简化Comparator接口的匿名形式:

 1  public static void main(String[] args) {
 2         Integer[] ages2 = {12, 15, 45, 30, 6};
 3 //        Arrays.sort(ages2, new Comparator<Integer>() {
 4 //            @Override
 5 //            public int compare(Integer o1, Integer o2) {
 6 //                return o2 - o1;
 7 //            }
 8 //        });
 9 
10 //                Arrays.sort(ages2, (Integer o1, Integer o2) -> {
11 //                return o2 - o1;
12 //        });
13 
14         //参数类型可以省略不写,只有一条语句,省略大括号,return省略,分号省略
15         Arrays.sort(ages2, (o1, o2) -> o2 - o1);
16 
17 
18         System.out.println("----------------------");
19 
20         JFrame win = new JFrame("登录界面");
21         JButton btn = new JButton("登录");
22 //        btn.addActionListener(new ActionListener() {
23 //            @Override
24 //            public void actionPerformed(ActionEvent e) {
25 //                System.out.println("俺被点击了一下");
26 //            }
27 //        });
28         //简化形式
29 //        btn.addActionListener((ActionEvent e)->{
30 //            System.out.println("俺被点击了")
31 //            }
32 //       );
33         //根据省略规则:方法体内只有一行代码,可以省略大括号不写
34         btn.addActionListener((ActionEvent e) -> System.out.println("俺被点击了"));
35 
36         win.add(btn);
37         win.setSize(400,300);
38         win.setVisible(true);
39 
40         System.out.println(Arrays.toString(ages2));
41     }

示例运行结果:

posted @ 2022-05-07 18:26  羽梦齐飞  阅读(38)  评论(0编辑  收藏  举报