gpt4 book ai didi

Scala 集 : + vs.++

转载 作者:行者123 更新时间:2023-12-02 07:31:09 25 4
gpt4 key购买 nike

在集合上应用+和++有什么不同?

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, b, c)

第一个返回 Set[String],第二个返回 Set[Any]。看起来++比较通用,但是++的附加值到底是什么呢?

最佳答案

这应该清楚地表明:

 ( set ++ "c") contains "a"  // true; "a" is a String in this set.


( set ++ "c") contains "c" // false, "c" is a NOT a string in this set.

( set ++ "c") contains 'c' // true, 'c' is a CHAR in this set.

因此 ( set++ "c") 生成一个集合,其中包含原始 Set[String] 以及 "a""b" 现在还包含 'c',它是一个 Char,因此是 ( set++ "c") 的类型 现在是一个Set[Any]

字符串“c”可以被视为Chars的可遍历。集合上的 ++ 方法接受可遍历对象。

关于Scala 集 : + vs.++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14724682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com