Dart| Flutter: 如何创建一个空列表

1,132 阅读2分钟

本教程展示了在Dart或Flutter中创建一个空列表的多种方法

How to create an empty list in Dart and Flutter

空列表是一个没有元素的列表,列表的大小为零。

有时,在Flutter中,API或服务方法会返回一个空列表,而不是null,以便更好地处理null安全问题。

如何在Flutter或dart中创建一个空列表?

空列表可以用多种方式创建。

通常,在Dart中,你可以使用类型和括号创建一个对象()

  var list = List(); // throws an error during compilation because of null safety

上面的代码,抛出了错误。不能使用默认的列表构造函数。

Dart不允许在没有初始化数据的情况下使用默认的构造函数,这会导致null safety错误。

让我们用多种方法在Dart中创建一个空或空白的列表。

第一种方法,用[] 语法分配空数据。

    var list = [];
    print(list.runtimeType); //JSArray<dynamic>

这将创建一个没有元素的空数组列表。

第二种方法,使用List.empty() 方法

  var list = List.empty();
  print(list.runtimeType); //JSArray<dynamic>

以上都是用dynamic 值的通用类型。

第三种方法,如果你想创建一个类型化的空数字列表,你必须用int进行通用赋值。

var numbers = <int>[];
print(numbers.runtimeType); //JSArray<int>

另一个例子,让我们创建一个空的字符串列表

  var words = <String>[];
  print(words.runtimeType);//JSArray<String>

第四种方法,创建一个空的对象列表

创建一个雇员类,并使用以下方法创建一个列表空对象var emps = <Employee>[];

下面是一个示例代码

class Employee {
  final int id;
  final String name;
  final int salary;
  final DateTime joinDate;

  Employee(this.id, this.name, this.salary, this.joinDate);

}

void main() {
  var emps = <Employee>[];
  print(emps.runtimeType);
}

最后,这不是一个空列表,而是创建一个具有初始化零值的固定列表。

用默认的零值创建固定元素的列表。

  var numbers = List<int>.filled(10, 0);
  print(numbers); //[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

总结

本教程讲述了用int、string和objects创建一个空列表的多种方法。