实现 Comparable 以使用字符串按字母顺序排序

2024-01-10

我希望有一个可比较的对象(在这种情况下在 TreeSet 中使用它)。

我的对象有一个名称字段,我希望它按字母顺序排序。

我首先想到我可以使用字符串的 unicode 值并简单地进行减法,但是 AA 会在 Ab 之后......

我是这样开始的:

public final class MyObject implements Comparable<MyObject> {

 private String name;

 public MyObject(String name) {
  this.name = name;
 }

 public String name() {
  return name;
 }

 @Override
 public int compareTo(MyObject otherObject) {
  return WHAT DO I PUT HERE ?;
 }
}

感谢那些愿意提供帮助的人, 祝你今天过得愉快!


你把问题想得太多了。Strings 有自己的自然顺序,即字母顺序,因此您可以使用String.compareTo像这样:

@Override
public int compareTo(MyObject otherObject) {
    return this.name.compareTo(otherObject.name);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实现 Comparable 以使用字符串按字母顺序排序 的相关文章

随机推荐