java之內部類使用場景
阿新 • • 發佈:2018-12-26
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.