Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何对颤振中的对象列表进行排序?_Flutter_Dart - Fatal编程技术网

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)
}