Моя проблема в этом;Я должен заказать таблицу данных.Каждая строка таблицы является объектом (назовем его TableObject), хранящимся в списке.Каждый столбец данных является свойством класса (обычно это String).
Я должен выполнить обычное упорядочение данных, когда пользователь нажимает на любой столбец.Поэтому я подумал об изменении списка на TreeSet и реализации Comparator в моем TableObject.
Проблема возникает, когда я пытаюсь изменить порядок TreeSet.Сначала сравнение довольно просто (проверка исключений в parseInt опущена):
public int compare(TableObject to1, TableObject to2){
TableObject t1 = to1;
TableObject t2 = to2;
int result = 1;
if(Integer.parseInt(t1.getId()) == Integer.parseInt(t2.getId())){result=0;}
if(Integer.parseInt(t1.getId()) < Integer.parseInt(t2.getId())){result=-1;}
return result;
}
Но когда мне нужно переупорядочить текст данных или другие десятки данных, которые у TableObject естьиметь проблему.Я не хочу создавать десятки функций сравнения, каждая для одной.Я предпочитаю не использовать переключатель (или цепочку ifs), чтобы решить, как сравнивать объект.
Есть ли способ сделать это каким-то образом (например, Reflexive), это не означает, чтонапишет как сотни строк почти одного и того же кода?
Спасибо за все!