Lambda表达式的无参数返回值练习和有参数有返回值的练习
Lambda表达式的无参数无返回值练习
//定义Cook接口 public interface Cook { public abstract void food(); }
//测试 public static void main(String[] args) { //调用Cook方法,参数Cook接口,传递Cook接口的匿名内部类对象 Cook(new Cook() { @Override public void food() { System.out.println("吃饭了"); } }); //使用Lambda表达式,简化匿名内部类的书写 Cook(()->{ System.out.println("吃饭了"); }); } //定义一个方法,参数传递Cook接口,方法内部调用Cook接口中的food方法 public static void Cook(Cook cook){ cook.food(); }
Lambda表达式的有参数有返回值练习
//Person public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public Person() { } 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; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
//测试 public static void main(String[] args) { Person[] arr = { new Person("钟离",999), new Person("旅行者",9999), new Person("派蒙",888) }; //对数组中的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 person : arr) { System.out.println(person); } }

浙公网安备 33010602011771号