📄 organizecomparator.java
字号:
/**
*
*/
package com.lily.dap.service.organize.impl;
import java.text.CollationKey;
import java.text.Collator;
import java.util.Comparator;
import com.lily.dap.model.organize.Department;
import com.lily.dap.model.organize.Group;
import com.lily.dap.model.organize.Person;
import com.lily.dap.model.organize.Post;
/**
* 实现组织机构的排序算法
*
* @author zouxuemo
*
*/
public class OrganizeComparator implements Comparator {
private Collator collator = Collator.getInstance();
/* (非 Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
public int compare(Object o1, Object o2) {
if (o1 instanceof Person && o2 instanceof Person) {
Person p1 = (Person)o1;
Person p2 = (Person)o2;
CollationKey key1 = collator.getCollationKey(p1.getName());
CollationKey key2 = collator.getCollationKey(p2.getName());
return key1.compareTo(key2);
} else if (o1 instanceof Department && o2 instanceof Department) {
Department d1 = (Department)o1;
Department d2 = (Department)o2;
return d1.getCode().compareTo(d2.getCode());
} else if (o1 instanceof Post && o2 instanceof Post) {
Post p1 = (Post)o1;
Post p2 = (Post)o2;
return p1.getCode().compareTo(p2.getCode());
} else if (o1 instanceof Group && o2 instanceof Group) {
Group g1 = (Group)o1;
Group g2 = (Group)o2;
CollationKey key1 = collator.getCollationKey(g1.getName());
CollationKey key2 = collator.getCollationKey(g2.getName());
return key1.compareTo(key2);
}
return -1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -