1.如何根据属性比较对象
package com.it.huanyu;
public class Person {
private int age;
/**
* 1.匿名内部类
* 2.比较的(利用匿名内部类
* 3.动态代理的问题
* @param name
*/
public void say(String name) {
System.out.println("自己的"+name);
}
public Person() {
}
public Person(int age) {
super();
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2.匿名内部类和用Collections.sort比较大小
package com.it.huanyu;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
Person p2=new Person(){
public void say(String name) {
System.out.println("匿名内部类"+name);
}
};
p2.say("网");
ArrayList<Person> lis=new ArrayList<>();
Person p1 = new Person(19);
Person p5 = new Person(11);
Person p3 = new Person(36);
Person p14 = new Person(89);
lis.add(p1);
lis.add(p5);
lis.add(p3);
lis.add(p14);
for (Person person : lis) {
System.err.println(person.getAge());
}
/**
* 比较排序的作用
*/
Collections.sort(lis,new Comparator<Person>() {
public int compare(Person o1, Person o2) {
return o1.getAge()-o2.getAge();
}
});
for (Person person : lis) {
System.err.println(person.getAge());
}
}
/**
* 比较对象的年龄大小,输出年龄大的
*/
}