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