我想使用Comparablein基于布尔值对列表进行排序dart。我尝试了以下但无法做到。
在列表中,所有true应该首先出现在列表其余部分的元素应该保持原样。
class Item implements Comparable<Item> {
int id;
String name;
int price;
bool isAvailable;
Item({this.id, this.name, this.price, this.isAvailable = false});
@override
int compareTo(Item other) {
if (isAvailable) {
return -1;
}
return 0;
}
}
void main() {
Item item = new Item(id: 1, name: "Item one", price: 1000);
Item item2 = new Item(id: 2, name: "Item two", price: 2000);
Item item3 =
new Item(id: 3, name: "Item three", price: 500, isAvailable: true); …Run Code Online (Sandbox Code Playgroud)