我正在寻找一种最易读的比较器定义,满足以下测试用例:
我尝试使用Guava的Ordering定义一个比较器,如下所示:
然而,明确的枚举对于未枚举项会抛出异常。因此,该解决方案失败了。有什么建议吗?
@Test
public void testComparator() {
List<String> toSort = Lists.newArrayList("a", "b", "c", "d", "e", "f");
Collections.shuffle(toSort);
Comparator<String> theSolution = ???;
Collections.sort(toSort, theSolution);
System.out.println(toSort); // Prints [c, a, b, d, e, f]
}
我尝试使用Guava的Ordering定义一个比较器,如下所示:
Ordering.explicit("c").thenComparing(Ordering.natural());
然而,明确的枚举对于未枚举项会抛出异常。因此,该解决方案失败了。有什么建议吗?