比如有类class a
{
String yourName;
String myName;
 然后分别有get和set方法。
}
当我使用快速排序的时候总是得不到我想要的结果,是不是这样写不对呢?
if(array[i].getMyName().compareTo(array[j].getMyName)<0)
{
交换值,这样有错吗?各位大哥帮帮忙解决哈,先谢谢了
}

解决方案 »

  1.   

    实现Compare接口的compareTo()方法
    x.compareTo(y);
    x<y返回负数,
    x=y返回0;
    x>y返回正数
      

  2.   

    你这样是根据你的属性myName来比较,使用的是String类的compareTo()方法。当然得不到你想要的结果。
      

  3.   

    代码没有在这里哦 我的错误是排顺序不对 当对一个int数组排的时候是对的,
    当我把int数组换成对象以后调用String的compareTo来根据对象的某一个元素大小来确定该对象应该存放的位置时,排出来的顺序总是不对的 ,不知道是为什么?
      

  4.   

    交换值的过程都是与是int数组的时候是一样的就把数组换成了对象而已