Как отсортировать список объектов, используя сопоставимые в Dart? - PullRequest
1 голос
/ 19 января 2020

Я хочу отсортировать список предметов, используя Comparable. Класс предметов имеет следующую структуру. Сначала я хочу отсортировать по элементу rating, а если есть ie, то по reviewQty. Это код, который я пробовал до сих пор, который не работает. Я также пробовал Comparator, но не знаю, как сортировать его в случае связей.

class MenuItem extends BaseModel implements Comparable<MenuItem>{
   final double rating;
   final int reviewQty;

   @override
   int compareTo(MenuItem other) {
   double diff = (rating - other.rating);
   return diff != 0 ? diff : this.reviewQty.compareTo(other.reviewQty);}}}

Протестировано с использованием

items.sort();

items.forEach((MenuItem item) {
  print('${item.name} , ${item.rating}');
});
...