flutter - 如何使用 dart null-safety 对可能包含空值的列表进行排序

标签 flutter sorting dart dart-null-safety

我有一个可能包含空值的字符串列表,我该如何对这个列表进行排序?

我正在使用 Flutter beta channel,因此检查了 null-safety。这是我目前所拥有的:

List<String?> _list = [
  
 'beta',
 'fotxtrot',
 'alpha',
  null,
  null, 
 'delta',
];

_list.sort((a, b) => a!.compareTo(b!)); 

我如何得到这个结果:

_list = [
  null,
  null,
  'alpha',
  'beta',
  'delta',
  'fotxtrot',
];

最佳答案

我最近遇到了这个,基于compareTo documentation构建了一个单行函数:

myList.sort((a, b) => a==null ? 1: b==null? -1 : a.compareTo(b));

注意:这会在列表末尾带来空值。在您的情况下,只需交换 -1 和 1 即可将它们放在列表的前面。

关于flutter - 如何使用 dart null-safety 对可能包含空值的列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66228159/

相关文章:

flutter - 如何在flutter中更新非root导航器的路由更改时的浏览器URL?

MySQL:如何使用计数函数和连接表列出所有内容?

c++ - 使用C++按字典顺序在一个巨大的文件中对文本行进行外部排序

sorting - Delphi 按 ItemData.Detail 对 TListBox 进行排序?

drop-down-menu - 下拉菜单重置值(Flutter)

flutter - 如何使底部导航栏带有数字和文本 flutter

flutter - 连续使用FractionallySizedBox

dart - 处理从 DatePicker 接收的日期/时间数据的最佳格式

android - 在 AppCenter 中构建发布 Flutter 应用程序时出错

flutter - 如何修复 flutter 中的 'SocketException: OS Error: Connection timed out, errno = 110, address = 192.168.5.10, port = 49590' 错误