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


    方法引用是结合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());
  • 相关阅读:
    C++ vector介绍
    C++string的使用
    关于VS2010error RC2170 : bitmap file res mp1.bmp is not in 3.00 format
    团队项目第一次讨论
    团队项目——铁大树洞个人分析
    第五周学习进度总结
    转发
    android移动端疫情展示
    《构建之法》阅读笔记03
    第四周学习进度总结
  • 原文地址:https://www.cnblogs.com/freeht/p/13041499.html
Copyright © 2020-2023  润新知