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)

你可能感兴趣的:(java)