首页 > 编程语言 > 详细

java8新特性-lambda(方法引用)

时间:2020-06-07 22:42:29      阅读:48      评论:0      收藏:0      [点我收藏+]

方法引用是结合lambda表达式的一种语法特性

@Data
@NoArgsConstructor
@AllArgsConstructor
class Person {
    private String name;

    private String gender;

    private int age;

    public static int compareByAge(Person p1, Person p2) {
        return p1.age - p2.age;
    }
}

class PersonUtil {
    public int compareByName(Person p1, Person p2) {
        return p1.getName().hashCode() - p2.getName().hashCode();
    }
}

interface IPerson {
    //抽象方法,通过指定类型的构造方法初始化对象数据
    Person initPerson(String name, String gender, int age);
}

1.静态方法引用

类型名称.方法名称() -> 类型名称::方法名称

Collections.sort(personList, Person::compareByAge);
System.out.println(personList);

2.实例方法引用

创建类型对应的一个对象 -> 对象应用::实例方法名称

PersonUtil personUtil = new PersonUtil();
Collections.sort(personList, personUtil::compareByName);
System.out.println(personList);

3.构造方法引用

绑定函数式接口

IPerson person = Person::new;
person.initPerson("jerry", "女", 11);
System.out.println(person.toString());

java8新特性-lambda(方法引用)

原文:https://www.cnblogs.com/freeht/p/13041499.html

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