如何使用对象名称字段按字母顺序对列表 进行排序
2023-11-23

我有一个对象列表,例如List<Object> p.我想使用对象名称字段按字母顺序排序此列表。对象包含 10 个字段,名称字段是其中之一。

if (list.size() > 0) {
    Collections.sort(list, new Comparator<Campaign>() {
        @Override
        public int compare(final Object object1, final Object object2) {
        return String.compare(object1.getName(), object2.getName());
        }
    } );
}

但没有像 String.compare 这样的东西..?


从你的代码来看,它看起来像你的Comparator已经参数化为Campaign。这仅适用于List<Campaign>。另外,您正在寻找的方法是compareTo.

if (list.size() > 0) {
  Collections.sort(list, new Comparator<Campaign>() {
      @Override
      public int compare(final Campaign object1, final Campaign object2) {
          return object1.getName().compareTo(object2.getName());
      }
  });
}

或者如果您使用的是 Java 1.8

list
  .stream()
  .sorted((object1, object2) -> object1.getName().compareTo(object2.getName()));

最后一点评论——检查列表大小是没有意义的。排序适用于空列表。

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

如何使用对象名称字段按字母顺序对列表 进行排序 的相关文章

随机推荐