关于Beautils工具类的神奇功能

第一种:BeanUtils.setProperty(bean, key, value)

1. 基本get,set 方法赋值

JavaBean:标准的Java类

 1. 类必须被public修饰
 2. 必须提供空参的构造器
 3. 成员变量必须使用private修饰
 4. 提供公共setter和getter方法 

populate(Object obj , Map map)

将map集合的键值对信息,封装到对应的JavaBean对象中 

// 创建map集合,用于存放属性及其属性值
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("name", "张三");
		map.put("age", 10);
		// 使用populate()方法为对象的属性赋值
		BeanUtils.populate(p, map);
		// 打印赋值后对象的信息
		System.out.println("姓名:" + p.getName() + ", 年龄:" + p.getAge());

BeanUtilsBean.getInstance().setProperty(bean, name, value)

bean是实例对象,name是属性,value是属性对应的值

BeanUtilsBean.getInstance().setProperty(Student,name,"李四")

举例:

User user = new User();
BeanUtils.setProperty(user,"hehe","male");
String gender = BeanUtils.getProperty(user, "hehe");

 2. 排序:beanCompartor 动态排序

运用这个方法,可以实现自然排序(根据ASCII码排序)

ASCII码排序:1, 2, A, B, a, b......

ASCII码的值如下 
48~57为0到9十个阿拉伯数字;   
65~90为26个大写英文字母;
97~122号为26个小写英文字母。

 此方法只能对单个属性排序

List<Student> list = new ArrayList<>();
        list.add(new Student("张三",1));
        list.add(new Student("王五",1));
        list.add(new Student("李四",1));
        list.add(new Student("赵六",1));
        System.out.println(list);
        BeanComparator beanComparator = new BeanComparator("name");
        Collections.sort(list,beanComparator);
        System.out.println(list);

传入的排序字段必须存在,并且要提供get方法

如果要对多个属性排序,仅仅使用BeanComparator是不能完成的 

如果要实现多元素排序,需要用到ComparatorChain ,个人觉得这方法现实生活用不到。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值