我试图根据每个对象的价格对对象列表进行排序。但是,我遇到了这个错误the expression here has a type of void, and therefore it cannot be used
class Item{
String productName;
double price;
}
List<Item> items = ...;
items.sort((a, b) => a.price.compareTo(b.price));
答案 0 :(得分:0)
List.sort修改调用它的对象。它不返回任何值,您必须使用原始列表。
var list = [3, 1, 2];
list.sort();
print(list); // displays [1, 2, 3]
如果要内联.sort()
以直接使用列表,则可以使用cascade notation:
var list = [3, 1, 2]..sort();
print(list); // displays [1, 2, 3]
// or
var list = [3, 1, 2];
print(list..sort()); // displays [1, 2, 3]