Flutter 如何对颤振中的对象列表进行排序?
我做错了什么?当我尝试对注释排序时,我发现“构造函数的名称必须与封闭类的名称匹配。”错误Flutter 如何对颤振中的对象列表进行排序?,flutter,dart,Flutter,Dart,我做错了什么?当我尝试对注释排序时,我发现“构造函数的名称必须与封闭类的名称匹配。”错误 List\u notes=[ 注释(id:'1',日期:DateTime.utc(2020,11,9),标题:'One',名称:'Name1'), 注意(id:'2',日期:DateTime.now(),标题:'2',名称:'Name2'), 注释(id:'2',日期:DateTime.utc(2020,05,15),标题:'Two',名称:'Name3'); _notes.sort((a,b)=>a.da
List\u notes=[
注释(id:'1',日期:DateTime.utc(2020,11,9),标题:'One',名称:'Name1'),
注意(id:'2',日期:DateTime.now(),标题:'2',名称:'Name2'),
注释(id:'2',日期:DateTime.utc(2020,05,15),标题:'Two',名称:'Name3');
_notes.sort((a,b)=>a.date.difference(DateTime.now()).inDays.compareTo(b.date.difference(DateTime.now()).inDays));
它应该可以工作:
_notes.sort((a,b) => a.date.compareTo(b.date));
你确定你已经把你的代码放进了一个像main这样的方法吗?以下代码可以正常工作:
class Note {
final String id;
final DateTime date;
final String title;
final String name;
Note({this.id, this.date, this.title, this.name});
@override
String toString() => 'Note(id: $id, date: $date, title: $title, name: $name)';
}
void main() {
final _notes = [
Note(id: '1', date: DateTime.utc(2020, 11, 9), title: 'One', name: 'Name1'),
Note(id: '2', date: DateTime.now(), title: 'Two', name: 'Name2'),
Note(id: '2', date: DateTime.utc(2020, 05, 15), title: 'Two', name: 'Name3')
];
_notes.sort((a, b) => a.date
.difference(DateTime.now())
.inDays
.compareTo(b.date.difference(DateTime.now()).inDays));
_notes.forEach(print);
// Note(id: 2, date: 2020-05-15 00:00:00.000Z, title: Two, name: Name3)
// Note(id: 2, date: 2020-10-26 19:55:41.351673, title: Two, name: Name2)
// Note(id: 1, date: 2020-11-09 00:00:00.000Z, title: One, name: Name1)
}
class Note {
final String id;
final DateTime date;
final String title;
final String name;
Note({this.id, this.date, this.title, this.name});
@override
String toString() => 'Note(id: $id, date: $date, title: $title, name: $name)';
}
void main() {
final _notes = [
Note(id: '1', date: DateTime.utc(2020, 11, 9), title: 'One', name: 'Name1'),
Note(id: '2', date: DateTime.now(), title: 'Two', name: 'Name2'),
Note(id: '2', date: DateTime.utc(2020, 05, 15), title: 'Two', name: 'Name3')
];
_notes.sort((a, b) => a.date
.difference(DateTime.now())
.inDays
.compareTo(b.date.difference(DateTime.now()).inDays));
_notes.forEach(print);
// Note(id: 2, date: 2020-05-15 00:00:00.000Z, title: Two, name: Name3)
// Note(id: 2, date: 2020-10-26 19:55:41.351673, title: Two, name: Name2)
// Note(id: 1, date: 2020-11-09 00:00:00.000Z, title: One, name: Name1)
}