首页 > 编程语言 > 详细

java里面的lambda

时间:2020-03-23 00:49:36      阅读:59      评论:0      收藏:0      [点我收藏+]

lambda格式

由三部分组成:
1、一些参数
2、一个箭头
3、一段代码
(参数列表) -> {一些重写方法的代码}
说明:
():接口中抽象方法的参数列表,有参就写参,每参就空着
->:箭头表示把参数传给代码
{}:重写接口中的抽象方法的方法体

public class Person {
    private String  name;
    private int age;

    public Person() {
    }

    @Override
    public String toString() {
        return "Person{" +
                "name=‘" + name + ‘\‘‘ +
                ", age=" + age +
                ‘}‘;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
import java.util.Arrays;

public class TestPerson {
    public static void main(String[] args) {
        Person[] arr = {
                new Person("亚索",18),
                new Person("盖伦",30),
                new Person("剑圣",100),
        };

//        Arrays.sort(arr, new Comparator<Person>() {
//            @Override
//            public int compare(Person person1, Person person2) {
//                return person1.getAge() - person2.getAge() ;
//            }
//        });

        Arrays.sort(arr,(person1,person2) -> {
            return person2.getAge() - person1.getAge();
        });

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

lambda表达式是可推导,可省略(凡是根据上下文推导出来的内容,都可以省略)
可以省略的内容:
1、(参数列表):括号中参数列表的数据类型,可以省略不写
2、(参数列表):括号中的参数如果只有一个,那么类型和()都可以省略
3、没有参数括号不能省略
4、{代码} :如果{}中的代码只有一行,无聊是否有返回值,都可以省略({},return,分号)注意要省略一起省略

java里面的lambda

原文:https://www.cnblogs.com/saonian450/p/12549543.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!