castFrom<S, T> 静态方法
override
将 source
转换为 Set
。
如果提供了 newSet
,它将用于创建由 toSet,union 返回的新集合,并且也用于 intersection 和 difference。如果省略了 newSet
,则默认创建一个新的使用默认的 Set 构造函数的集合,并且 intersection 和 difference 返回源上调用相同方法的转换版本。
每次集合会产生一个不是 T
的元素时,元素访问将引发异常。
每次尝试将 T
值添加到转换后的集合时,如果该值不仅是一个实例,否则存储将抛异常。
如果 source
被访问的所有元素实际上是 T
的实例,并且添加到返回集合的所有元素实际上是 S
的实例,那么返回的集合可以用作 Set
。
接受一个或多个 Object?
作为参数的方法,如 contains,remove 和 removeAll,将直接将参数传递到本集合的此方法,而不进行任何检查。
实现
static Set<T> castFrom<S, T>(Set<S> source, {Set<R> Function<R>()? newSet}) =>
CastSet<S, T>(source, newSet);