java8第一课:lambda表达式

  这节课开始我们正式进入 java8 新特性

 

  首先要讲的就是哦Lambda表达式(拉姆达表达式),lambda表达式就是一个匿名函数,也就是说没有函数名。这个表达式的作用就一点: 简化开发。

 

  语法(参数表)->{功能代码}

  lambda在java里的唯一作用就是替代匿名内部类,要求是接口只有一个未实现的抽象方法

 

public class Teach01 {



    public static void main(String[] args) {

        List strList = new ArrayList<>();

        strList.add("asdad");

        strList.add("ansdkanw");

        strList.add("asb");

        strList.add("asbsada");

        strList.add("asbqq");

        strList.add("asbdddffg");



        //下面来看看如何用lamda表达式简化开发

        /**

         * 口诀:

         * 照搬参数

         * 加上右箭头

         * 大括号写实现方法

         */

        Filter stringFilter = (List list)->{

            List stringList = new ArrayList<>();

            for (String s : list) {

                if (s.length() > 5)

                {

                    stringList.add(s);

                }

            }

            return stringList;

        };

        List strListAfterFilter = stringFilter.filter(strList);

        for (String s : strListAfterFilter) {

            System.out.println(s);

        }



    }

}



//过滤器

interface Filter<T>{

    List<T> filter(List<T> list);

}

 

 

public class Teach01 {



    public static void main(String[] args) {

        //介绍一个常用案例

        /**

         * Thread有一个构造器是最常用的:

         * public Thread(Runnable runnable,String name);

         *

         * Runnable是一个接口,里面只有一个未实现的抽象方法void run();

         */

        Thread thread = new Thread(()->{

            //这里面写的其实就是原来run()方法的代码

            for (int i = 0; i < 10; i++) {

                System.out.println(i);

            }

        },"线程1");



        thread.start();

    }



}

你可能感兴趣的:(Java学习)