339Lambda表达式的无参数无返回值练习和340有参数有有返回值的练习
无参数无返回值练习
//定义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();
}
有参数有有返回值的练习
//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("迪迦",111),
new Person("塞罗",222),
new Person("泰罗",333)
};
//对数组中的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号