⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workcomparator.java

📁 Eclipse RCP下编写的工作管理软件代码
💻 JAVA
字号:
package net.sf.pim.model.psp;

import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
public class WorkComparator implements Comparator {
    private String prop;
    private boolean asc; 

    public WorkComparator(String prop,boolean asc) {
        this.prop = prop;
        this.asc=asc;
    }

    public int compare(Object o1, Object o2) {
        if (o1 instanceof Work && o2 instanceof Work) {
            Work work1 = (Work) o1;
            Work work2 = (Work) o2;
            if(asc)
            	return compareWork(work1, work2);
            else
            	return compareWork(work2, work1);
        }
        else
            return 0;
    }

	private int compareWork(Work work1, Work work2) {
		String str1 = (String) work1.getProperties().get(prop);
		String str2 = (String) work2.getProperties().get(prop);
		//日期按从小到大排序
		if(prop.equals("rq")){
		    if(str1.compareTo(str2) == 0)
		        return Integer.parseInt(work1.getWid()) - Integer.parseInt(work2.getWid());
		    return str1.compareTo(str2) ;
		}
		//计划先按计划排序,再按工作说明排序
		if(prop.equals("plan")){
			if(str1.compareTo(str2) == 0)
				return new WorkComparator("gzsm",asc).compare(work1, work2);
			return str1.compareTo(str2);
		}
		//看看是不是能进行数字的排序
		try{
		    if(prop.equals("ddsj") || prop.equals("gzsj")){
		        double d1=Double.parseDouble(str1);
		        double d2=Double.parseDouble(str2);
		        return (int)(d1-d2);
		    }
		}catch(Exception e){
		    ;
		}

		Collator collator = Collator.getInstance(Locale.getDefault());
		return collator.compare(str1, str2);
	}

    public boolean equals(Object obj) {
        return false;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -