美文网首页
[java]10、Lambda表达式

[java]10、Lambda表达式

作者: 史记_d5da | 来源:发表于2021-10-10 08:36 被阅读0次

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);
}

相关文章

网友评论

      本文标题:[java]10、Lambda表达式

      本文链接:https://www.haomeiwen.com/subject/wpwcoltx.html