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