Person 类 :注意重写了toString
package Demo06;
public class Person {
private String name;
private int age;
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", 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;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
测试类
package Demo06;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
/*
Lambda表达式有参数有返回值的练习
需求
使用数组存储多个Person对象
对数组中的Person对象使用Arrays的sort方法通过年龄升序排序
*/
public class Demo01Arrays {
public static void main(String[] args) {
Person[] array = {
new Person("柳岩",28),
new Person("迪丽热巴",18),
new Person("古力娜扎",8)
};
//对数组中的元素按年龄升序排序
/* Arrays.sort(array, new Comparator<Person>() {
@Override
public int compare(Person t0, Person t1) {
return t0.getAge()- t1.getAge();
}
});*/
//使用Lambda表达式简化匿名内部类
Arrays.sort(array,(Person t0, Person t1)->{ //注意小括号的位置
return t0.getAge()- t1.getAge(); //有返回值的return
});
for (Person arrayin:array){
System.out.println(arrayin);
}
}
}