A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求解决,我困惑了很久,最好把具体代码写出来,谢谢

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

7 个回复

倒序浏览
用Comparable类中的public int compareTo(Object other){};
public class Client implements Comparable<Object>{
  private String id;
  private String name;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int compareTo(Object client) {
Client c=(Client)client;
return id.compareTo(c.getId());
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

回复 使用道具 举报
如果问题没解决,请继续追问
回复 使用道具 举报
本帖最后由 Changer_s 于 2013-5-22 18:21 编辑
年轻的棒棒 发表于 2013-5-22 17:49
用Comparable类中的public int compareTo(Object other){};
public class Client implements Comparable{
  ...

你这是百度的吧?
我的意思是说:
比如:
比较:int a= 3;double b =3.2;String c = “3.3”;
我想排序,比较大小,你可以帮我试试吗?  结果:c> b>a

或者比较这个也行:int a= 3;double b =3.2
我想排序,比较大小,你可以帮我试试吗?  结果:b>a ,

前提是我不确定对象到底是什么类型,那该怎么办?
回复 使用道具 举报
其实就是一个实现这个接口,对其中的方法进行重写,最基本的还是类型转换以后比较的。我这里转成double,你也可以转成其他类型的!
interface compareForNumber {
        public double compareTwoNumber(Object obj_1, Object obj_2);
}
public class Test1 implements compareForNumber {
        public double compareTwoNumber(Object obj_1, Object obj_2) {
                double value_1;
                double value_2;
                try {
                        value_1 =Double.parseDouble(obj_1.toString());
                         value_2 = Double.parseDouble(obj_2.toString());
                        if (value_1 > value_2) {
                                return value_1;
                        } else if (value_1 < value_2) {
                                return value_2;
                        } else if (value_1 == value_2) {
                                return 0;
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }
                return 0;
        }

        public static void main(String[] args) {
                System.out.println(new Test1().compareTwoNumber("3.3", 2));// 传入两个数字比较大小
        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

回复 使用道具 举报
年轻的棒棒 发表于 2013-5-22 17:49
用Comparable类中的public int compareTo(Object other){};
public class Client implements Comparable{
  ...

这代码有问题。。。必须要对比较类型进行一致性判断,不是同一种类型根本无法比;
回复 使用道具 举报
思路:对int型进行强转,都变成double;
这样就可以比较了;
用快速排序或者冒泡排序解决;
捷径:Arrays工具类,sort排序方法;
回复 使用道具 举报
楼主你好,如果问题以解决,请修改分类,谢谢合作。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马