есть айди
Например Person(1), Person(4),Person(10),Person(8)
Мне нужно их осортировать
Person(4), Person(1),Person(10),Person(8)
то ест по id но в нужном мне порядке. Как это можно сделать?
Должен быть какой-то признак, по которому так будет сортироваться.
признак есть id Но порядок не прямой и не обратный. А заданный.
например id=4,1,10,8
Добавить ещё одно поле?) И по нему сортировать ?
хм....так а есть ли по легче вариант? Например как то приоритет поставить. Но с compareTo не прокатывает такой вариант
Ну напиши свой компаратор, однако запрос супер странный
К примеру, задай константный массив какой нибудь с порядком айдишников и сравнивай индексы
И почитай джавадоку для начала
А какой признак порядка?
собственный. например id= 3,6,1,345,23
А вы не задавались вопросом почему именно такой порядок?
я читаю документацию и там сравнение только -1,0,1 разве там можно задать вес?
можно задать что угодно
Подумайте о том, про реализацию функции весов при инстанцировании объекта
вот я задаю, а результат не такой
да так можно но не хотелось бы новое поле в дто засовывать для этого compareTo(Dto dto) { return this.weight.compareTo(dto.weight); }
Засуньте тогда в бизнес модель
не будет так работать. Эта функция должна возращать -1, 0, 1
Неверно compareTo() должен возвращать положительное значение, когда a > b, отрицательное значение, когда a < b, и 0, когда a == b 1 это будет или 1284712, и -1 или -2358175 - совершенно неважно
Я надеюсь на ревью вы не пропустите такой код
Обсуждают сегодня