1.匿名内部类经典案例(排序)
public class Person {
/** 姓名 **/
private String name;
/** 年龄 **/
private Integer age;
public Person(String name,Integer age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public static void main(String[] args) {
List<Person> list = new ArrayList<Person>();
list.add(new Person("张三", 18));
list.add(new Person("李四", 20));
list.add(new Person("王无", 19));
//排序前
list.forEach(item->System.out.println("排序前-----姓名="+item.name+",年龄="+item.age));
Collections.sort(list, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.age.compareTo(o2.age);
}
});
System.out.println();
//排序后
list.forEach(item->System.out.println("排序后-----姓名="+item.name+",年龄="+item.age));
}
}
结果如下:
排序前-----姓名=张三,年龄=18
排序前-----姓名=李四,年龄=20
排序前-----姓名=王无,年龄=19
排序后-----姓名=张三,年龄=18
排序后-----姓名=王无,年龄=19
排序后-----姓名=李四,年龄=20
Process finished with exit code 0
2.