流世幻羽

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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());
		}
		
		
	}
	/**
	 * 比较对象的年龄大小,输出年龄大的
	 */
	
	
	
	
}

  

  

posted on 2018-09-22 18:10  流世幻羽  阅读(594)  评论(0编辑  收藏  举报