Lambda表达式的无参数无返回值的练习和有参数有返回值的练习

Lambda表达式的无参数无返回值的练习

public interface Cook {
    public abstract void makeFood();
}
public class CookTest {
    public static void main(String[] args) {
        invoke(()->{
            System.out.println("吃饭");
        });
    }
    //定义一个方法参数传递cook接口,内部调用Cook接口中的方法makeFood
    public static void invoke(Cook cook){
        cook.makeFood();
    }
}

 

 

有参数有返回值的练习

使用数组存储多个Person对象

对数组中的Person对象使用Arrays的sort方法通过年龄进行升序排序

    public static void main(String[] args) {
        Person[] arr={new Person("张三",11),
                      new Person("李四",20),
                      new Person("王五",10)
        };

        //对数组中的Person对象使用Arrays的sort方法通过年龄进行升序(前边-后边)排序
/*        Arrays.sort(arr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return o1.getAge()-o2.getAge();
            }
        });*/

        //使用Lambda表达式, 简化匿名内部类
        Arrays.sort(arr,(Person o1, Person o2)->{
            return o1.getAge()-o2.getAge();
        });
        //遍历数组
        for (Person p : arr){
            System.out.println(p);
        }
    }

 

posted @ 2022-07-11 11:17  魔光领域  阅读(24)  评论(0编辑  收藏  举报