java中定义了一个类,其中有一个对象 数组,如何比较其中任意两个对象的大小。

privateObject[]listArray;在运行时Obejct类既可以是int也可是flaot,double,string等。Objectx=listArray[... private Object[]listArray;
在运行时Obejct类既可以是int也可是flaot,double,string等。
Object x=listArray[2];
Object y=listArray[5];
要在x<y; x=y'; x>y时,实现不同的操作。
展开
 我来答
hesper0
2011-03-16 · TA获得超过512个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:232万
展开全部
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

}
写来下,自己的想法不知道好不好,呵呵,感觉代码太多,最好用个工厂比较好。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式