Java lambda表达式的进化论

前情提示:

lambda表达式是JDK1.8的新特性

1. 进化的初级阶段之静态内部类

public class LambdaDemo {
    //静态内部类
    static class ListenMusic implements Runnable {
        @Override
        public void run() {
            for (int i = 5; i > 0; i--) {
                System.out.println("---静态内部类**一边听歌---" + i);
            }
        }
    }

    public static void main(String[] args) {
        new Thread(new ListenMusic()).start();
    }
}

结果:

---静态内部类**一边听歌---5
---静态内部类**一边听歌---4
---静态内部类**一边听歌---3
---静态内部类**一边听歌---2
---静态内部类**一边听歌---1

2.进化的第二阶段之局部内部类

public class LambdaDemo {
    //局部内部类,方法里面的类就是局部内部类
    //这里,我们把局部内不能放在了类方法里面

    public static void main(String[] args) {
        class ListenMusic implements Runnable {
            @Override
            public void run() {
                for (int i = 5; i > 0; i--) {
                    System.out.println("---静态内部类**一边听歌---" + i);
                }
            }
        }
        new Thread(new ListenMusic()).start();
    }
}

结果:

---静态内部类**一边听歌---5
---静态内部类**一边听歌---4
---静态内部类**一边听歌---3
---静态内部类**一边听歌---2
---静态内部类**一边听歌---1

3.进化的第三阶段之匿名内部类

public class LambdaDemo {
    //匿名内部类必须要跟在new 类名()或者new 接口名()后面
    //这里,我们把匿名内部类放在了类方法里面

    public static void main(String[] args) {

        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 5; i > 0; i--) {
                    System.out.println("---匿名内部类**一边听歌---" + i);
                }
            }
        }).start();
    }
}

结果:

---匿名内部类**一边听歌---5
---匿名内部类**一边听歌---4
---匿名内部类**一边听歌---3
---匿名内部类**一边听歌---2
---匿名内部类**一边听歌---1

4.进化的第四阶段之lambda表达式诞生

public class LambdaDemo {
    //lambda表达式
    //这里,我们把lambda放在了main()方法里面

    public static void main(String[] args) {

        new Thread(() -> {
            for (int i = 5; i > 0; i--) {
                System.out.println("---lambda**一边听歌---" + i);
            }
        }
        ).start();
    }
}

结果:

---lambda**一边听歌---5
---lambda**一边听歌---4
---lambda**一边听歌---3
---lambda**一边听歌---2
---lambda**一边听歌---1

猜你喜欢

转载自www.cnblogs.com/majestyking/p/12443958.html
今日推荐