用java定义一个类,判断两个字符串的大小

如题所述

public static void main(String[] args) throws Exception {
System.out.println("结果:" + compare(10.3, 1.5, CompareMark.AAB));
}

public static boolean compare(Object o1, Object o2, CompareMark compareMark) throws Exception {
if ((!(o1 instanceof Comparable)) || (!(o2 instanceof Comparable))) {
throw new Exception("非基础类型无法比较!");
}
Comparable c1 = (Comparable) o1;
Comparable c2 = (Comparable) o2;
int iR = c1.compareTo(c2);
switch (iR) {
case 1:
switch (compareMark) {
case AAB:
case AABET:
return true;
default:
return false;
}
case -1:
switch (compareMark) {
case LT:
case LTET:
return true;
default:
return false;
}
default:// 0
switch (compareMark) {
case ET:
case AABET:
case LTET:
return true;
default:
return false;
}
}
}

public enum CompareMark {
/**
* 大于
*/
AAB,
/**
* 小于
*/
LT,
/**
* 等于
*/
ET,
/**
* 大于等于
*/
AABET,
/**
* 小于等于
*/
LTET

}
写来下,自己的想法不知道好不好,呵呵,感觉代码太多,最好用个工厂比较好。
温馨提示:答案为网友推荐,仅供参考
相似回答