Scala Set:vs.
发布时间:2020-12-16 18:24:53 所属栏目:安全 来源:网络整理
导读:套装之间有什么不同? scala val set = Set[String]("a","b")set: scala.collection.immutable.Set[String] = Set(a,b)scala set + "c"res2: scala.collection.immutable.Set[String] = Set(a,b,c)scala set ++ "c"res3: scala.collection.immutable.Set[Any
套装之间有什么不同?
scala> val set = Set[String]("a","b") set: scala.collection.immutable.Set[String] = Set(a,b) scala> set + "c" res2: scala.collection.immutable.Set[String] = Set(a,b,c) scala> set ++ "c" res3: scala.collection.immutable.Set[Any] = Set(a,c) 第一次返回Set [String],而第二次返回Set [Any]. 解决方法
如果你看一下
API doc的Set方法,你会发现它需要一个GenTraversableOnce
scala> val c:GenTraversableOnce[Any] = "c" c: scala.collection.GenTraversableOnce[Any] = c 这意味着在这种情况下: scala> set ++ "c" res3: scala.collection.immutable.Set[Any] = Set(a,c) “c”是GenTraversableOnce [Any],然后该方法添加该集合的所有元素. (我怀疑和许多其他的回答者一样,我只是在Scala控制台上做了一些调查,然后仔细检查是否通过隐式转换进行检查.是的,它似乎是.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |