Сортировка по убыванию с подчеркиванием в строкеJAVA

Программисты JAVA общаются здесь
Anonymous
Сортировка по убыванию с подчеркиванием в строке

Сообщение Anonymous »

Я пытаюсь выполнить сортировку по убыванию столбца, в строке которого содержится знак подчеркивания. Это мой метод сортировки по убыванию.

Код: Выделить всё

protected void validateDescendingOrder(Integer column) {
// create a column list
List columnList = getColumnList(column);

// create a new list and sort
List sortedcolumnList = new ArrayList();
sortedcolumnList.addAll(columnList);
Collections.sort(sortedcolumnList, new Comparator() {
public int compare(String o1, String o2) {
if (o1.contains("_") && o2.contains("_")) {
return compare(o1.substring(1), o2.substring(1));
}

if (o1.contains("_")) {
return 1;
}
if (o2.contains("_")) {
return -1;
}

return o1.compareTo(o2);
}
});
Я ожидаю, что мой сорт вернет
Test_jenn, Test_Community, TestRelease, TestCom1, test1, но вместо этого он возвращает
TestRelease, TestCom1, Test_jenn, Test_Community, test1

Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-string

Вернуться в «JAVA»