ListMixin<E> 类型定义
列表类的基类 mixin 实现。
ListMixin 可以用作 mixin 来使一个类实现 List 接口。
此 mixin 使用 length 和 operator[] 以及成员来实现所有只读操作。它使用这些以及 add,length= 和 operator[] 来实现写操作。使用此 mixin 的类应该实现这五个操作。
注意:为了兼容性原因,存在 add 的默认实现,它仅适用于具有可空元素类型的列表。对于不可空元素类型的列表,必须实现 add 方法。
注意:仅将四个 length 和 [] 只读/写操作转发到一个正常的可增长 List(如通过 [] 文字创建)将为 ListMixin 的 add 和 addAll 操作带来非常糟糕的性能。这些操作通过每次 add 操作将列表长度增加一个来实现,并且重复增加可增长列表的长度效率不高。为了避免这种情况,覆盖 'add' 和 'addAll' 以直接转发到可增长列表,或者,如果可能,使用 "package:collection/collection.dart" 中的 DelegatingList 替代 ListMixin。
实现
// TODO: @Deprecated("Use List instead")
typedef ListMixin<E> = ListBase<E>;