📄 rowidcomparator.java
字号:
package net.jetmaven.util;
import org.apache.commons.lang.StringUtils;
import java.util.Comparator;
/**
* Comparator for rowId,just like row22345,如果为数字,按升序,
* 字符串按hashcode。
*
* @author <a href="mailto:linux_china@hotmail.com">chenlibing</a>
* Date: 2004-2-2
*/
public class RowIdComparator implements Comparator
{
private String prefix;
public RowIdComparator()
{
}
/**
* 去除prefix进行排序
*
* @param prefix 前缀
*/
public RowIdComparator(String prefix)
{
this.prefix = prefix;
}
public int compare(Object o1, Object o2)
{
long result = 0;
int prefixLenth = (prefix == null ? 0 : prefix.length());
String o1_temp = o1.toString().substring(prefixLenth);
String o2_temp = o2.toString().substring(prefixLenth);
if (StringUtils.isNumeric(o1_temp) && StringUtils.isNumeric(o2_temp))
{
result = Long.parseLong(o1_temp) - Long.parseLong(o2_temp);
} else
{
result = o1.hashCode() - o2.hashCode();
}
return (int) result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -