java比较string

public int compareTo(TaskVO o) {
		if(o == null){
			throw new NullPointerException("Can't compare to a null objcet.");
		}
		if(sort == null || sort.length == 0){
			return 0;
		}
		BeanInfo beanInfo = null;
		try {
			beanInfo = Introspector.getBeanInfo(TaskVO.class); // 获取类属性
			PropertyDescriptor[] props = beanInfo.getPropertyDescriptors();
    		for(int i=0;i<sort.length;i++){
    			int flag = 1;
    			if(sort[i].toUpperCase().endsWith("DESC")){
    				flag = -1;
    			}
				for (PropertyDescriptor prop : props) {
					if(sort[i].toLowerCase().startsWith(prop.getName().toLowerCase())){
						Method rd =prop.getReadMethod();
						Object a = rd.invoke(this, null);
						Object b = rd.invoke(o, null);
						if(a instanceof Comparable<?>){
							int r = ((Comparable) a).compareTo(b) * flag;
							if(r != 0){
								return r;
							}
						}
					}
					
				}
    		}
		} catch (Exception e) {
		}
		return 0;
	}

   使用Collections的sort方法 要重写compareTo方法

   这是程序中的一个例子,写在VO中,可以继承,使用Collections.sort(XXX)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值