【发布时间】:2012-01-15 23:36:11
【问题描述】:
我有一个对象列表,例如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..?
【问题讨论】:
-
你将如何获得这个名字? --
Objects 没有名字。你的意思是使用.toString()? -
object1和object2需要是Campaign类型,比较函数是object1.getName().compareTo(object2.getName())。 -
你将
List<Object>和Comparator<Campaign>混合使用。你不能那样做。你要么有List<Object>和Comparator<Object>要么有List<Campaign>和Comparator<Campaign>