按名称排序对象数组(String)

时间:2013-04-16 19:17:49

标签: java string sorting compare

我想知道是否有任何方法可以比较Java中的String对象。因为我想通过它们的“名称”对字符串进行排序。如果没有,你会如何建议我解决问题?

对象不是字符串。该对象是一个自己指定的Class,它包含一个String对象,我想从中对它们进行排序。

Class MyClass  
{
    String mName;

    MyClass(String name)
    {
        mName = name;
    }
}

然后我想通过其成员mName对Object MyClass的数组进行排序。

2 个答案:

答案 0 :(得分:1)

请参阅documentation of Comparable

class MyClass extends Comparable< MyClass >
{
    String mName;

    MyClass(String name)
    {
        mName = name;
    }

    public int compareTo( MyClass right ) {
       return this.mName.compareTo( right.mName );
    }
}

答案 1 :(得分:1)

要按对象的属性对对象进行排序,必须使Object实现Comparable接口并覆盖compareTo()方法。然后你可以做Arrays.sort(array);

Class MyClass  implements Comparable<MyClass>
{
   String mName;

   MyClass(String name)
   {
      mName = name;
   }

   public int compareTo(MyClass instance) {
     return mName.compareTo(instance.mName);
  }

 }