cast<R> 方法
重写
返回此列表作为类型为 R
的实例列表的视图。
如果此列表只包含类型为 R
的实例,所有读取操作都将正常工作。如果任何操作尝试读取不是 R
实例的元素,访问将抛出异常。
添加到列表中的元素(例如,使用 add 或 addAll)必须是类型为 R
的实例,以成为添加函数的有效参数,并且它们也必须是类型为 E
的实例,才能被此列表接受。
接受 Object?
作为参数的方法,如 contains 和 remove,将直接将参数传递给此列表的方法,而不进行任何检查。这意味着即使看起来不应该有任何效果,你也可以成功地执行代码 listOfStrings.cast<int>().remove("a")
。
通常实现为 List.castFrom<E, R>(this)
。
实现
List<R> cast<R>() => UnmodifiableListView(_source.cast<R>());