Lambda表达式相关:

基础涉及: java 基础语音 、 03 java 语言高级 -  05 异常与多线程   -  Lambda

public class Mylearn_2 {
        public static void main(String[] args)   {


            //使用匿名内部类的方式实现多线程。
            new Thread(new Runnable() {
                public void run()
                {
                    System.out.println(Thread.currentThread().getName()+"新线程创建了");
                }
            }).start();


            lambdaDemo();
         }

        //使用lambda表达式、实现多线程
        public static void lambdaDemo()
        {
            new Thread(()->{
                    System.out.println(Thread.currentThread().getName()+"新线程创建了");
            }).start();
        }
        //lambda表达式   标准格式
        //由三部分组成:    a.一些参数、b.一个箭头、c.一段代码
        //格式:  (参数类型  参数名称)-> {代码语句}
        //解释说明格式:

}

例子:   用 lambda 表达式、 对Person对象进行排序(按年龄)。

这里面出现了toString方法的辨析、  在定义一个新类的时候,这个东西要撞上。

下面是代码:  (简单、先理解、再掌握)

import java.util.*;

public class Mylearn_2 {
        public static void main(String[] args)   {



         }

        public static void method_1()        //辅助理解toString方法。
        {
            Integer[] arr = {1,2,3,4,5,6};
            for(Integer x : arr)
            {
                System.out.println(x.toString());
            }
        }

        public static void lambda()       //lambda表达式对对象进行按年龄排序的操作
        {
            Person[] arr = {
                    new Person("柳岩",30),
                    new Person("地理热吧",20),
                    new Person("鼓励纳扎",21)
            };

            Arrays.sort(arr,(Person o1,Person o2)->{
                return o1.getAge()-o2.getAge();
            });

            for(Person p : arr)
            {
                System.out.println(p);
            }

        }

        public static void method()        //不用lambda表达式、传统的方法对这Person对象进行年龄排序。
        {
            Person[] arr = {
                    new Person("柳岩",30),
                    new Person("地理热吧",20),
                    new Person("鼓励纳扎",21)
            };

            Arrays.sort(arr,new Comparator<Person>() {
                public int compare(Person o1,Person o2)
                {
                    return o1.getAge()-o2.getAge();
                }
            }
            );
            for(Person p : arr)
            {
                System.out.println(p);
            }

        }
}

class Person
{
    private String name ;
    private int age;
    Person(String name,int age)
    {
        this.name = name;
        this.age = age;
    }
    public int getAge()
    {
        return age;
    }
    public String getName()
    {
        return name;
    }
    public String toString()
    {
        return "Person{"+"name:"+name+",age:"+age+"}";
//        return "123";
        // 这里的toString方法是一定要存在的,可以注释后、打印 Person 任意对象
        //toString的讲解: https://blog.csdn.net/qq_34626097/article/details/83154781
    }
}
01-02 04:08