ListMixin<E> 类型定义
列表类的基类混入实现。
ListMixin
可以作为混入使用,使类实现 List
接口。
该混入仅使用 length
和 operator[]
以及成员实现所有读取操作。它使用这些以及 add
、length=
和 operator[]
实现写入操作。使用此混入的类应该实现这五个操作。
注意:出于向后兼容性原因,存在一个默认的 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>;