castFrom<S, T> 静态方法

Set<T> castFrom<S, T>(
  1. Set<S> source,
  2. {Set<R> newSet<R>(
      )?}
    )
    override

    source 转换为 Set

    如果提供了 newSet,它将用于创建由 toSetunion 返回的新集合,并且也用于 intersectiondifference。如果省略了 newSet,则默认创建一个新的使用默认的 Set 构造函数的集合,并且 intersectiondifference 返回源上调用相同方法的转换版本。

    每次集合会产生一个不是 T 的元素时,元素访问将引发异常。

    每次尝试将 T 值添加到转换后的集合时,如果该值不仅是一个实例,否则存储将抛异常。

    如果 source 被访问的所有元素实际上是 T 的实例,并且添加到返回集合的所有元素实际上是 S 的实例,那么返回的集合可以用作 Set

    接受一个或多个 Object? 作为参数的方法,如 containsremoveremoveAll,将直接将参数传递到本集合的此方法,而不进行任何检查。

    实现

    static Set<T> castFrom<S, T>(Set<S> source, {Set<R> Function<R>()? newSet}) =>
        CastSet<S, T>(source, newSet);