Sorting 按布尔值对对象列表排序

Sorting 按布尔值对对象列表排序,sorting,flutter,dart,Sorting,Flutter,Dart,通过呼叫我的服务,我收到了一个对象列表。这是我的对象模式: class MyCard { final String number; final String name; final String available; final bool isOwn; const MyCard({ @required this.number, @required this.name, @required this.available, @required t

通过呼叫我的服务,我收到了一个对象列表。这是我的对象模式:

class MyCard {
  final String number;
  final String name;
  final String available;
  final bool isOwn;

  const MyCard({
    @required this.number,
    @required this.name,
    @required this.available,
    @required this.isOwn,
  });
}
我想根据isOwn==true对列表进行排序。因此,为了使用list.sort:

myCards.sort((a, b) => a.isOwn - b.isOwn);
此语法不适用于dart!!如何处理颤振?

根据:

您可以为bool定义自己的比较函数,并将其传递给List的排序方法

以布尔值作为布尔值列表的示例:

booleans.sort((a, b) {
  if(b) {
    return 1;
  }
  return -1;
});

这个例子告诉排序方法,true元素的排序应该高于false元素。

我认为可以从MyCard类实现Comparable,并根据需要重写compareTo方法并使用它。
你可以看看这个例子。

此链接是关于字符串的,但如何处理布尔值@onetwo12可以简化为:
booleans.sort((a,b)=>b1:-1)