我想知道是否有任何方法可以比较Java中的String对象。因为我想通过它们的“名称”对字符串进行排序。如果没有,你会如何建议我解决问题?
对象不是字符串。该对象是一个自己指定的Class,它包含一个String对象,我想从中对它们进行排序。
Class MyClass
{
String mName;
MyClass(String name)
{
mName = name;
}
}
然后我想通过其成员mName对Object MyClass的数组进行排序。
答案 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);
}
}