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>;