[java]10、Lambda表达式

2021-10-10  本文已影响0人  史记_d5da

1、函数式变成思想

面向对象的思想:
做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情。
函数式编程思想:
只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程

new Thread(()-> {
     System.out.println(Thread.currentThread().getName() + "新线程创建了");
}).start();

2、有返回值的Lambda

有且只有一个返回值的结果,称为函数式接口

//Person
public class Person {
    String name;
    int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
// -------------------------------------------------------
// main
Person[] arr = { new Person("鼓励那种", 28),
                new Person("你好说的", 19),
                new Person("易烊千玺", 30),
                new Person("走杨楠啊", 21)};
Arrays.sort(arr, (Person o1, Person o2)->{
      return o1.age - o2.age;
});
// 省略写法
// Arrays.sort(arr, (o1, o2)->o1.age - o2.age );

for (Person person : arr) {
      System.out.println(person);
}
上一篇 下一篇

猜你喜欢

热点阅读