为什么我的克隆在Scala中失败?

del*_*ber 1 scala

在下面我可以克隆Hashtable而不是实际值

  val myHash = new HashMap[String, Int]
  myHash.put("A", 4)
  println(myHash("A").clone()) // fail
  myHash.clone() // works
Run Code Online (Sandbox Code Playgroud)

我得到错误无法解析符号克隆

Ada*_*ear 9

你不能克隆一个数字.Int没有clone()方法.

  • 可以克隆"BigInt"和"BigDecimal".最好说一个人不能克隆一个等同于Java原语的`AnyVal`,因为`clone`方法只出现在`AnyRef`上. (6认同)

tho*_*dge 5

HashMap是Clonable而Int不是.

我假设你期望得到一个错误,因为int在地图中; 然而,由于克隆很浅,这不是问题.克隆只会创建一个新的地图,并将所有相同的键和值填入其中.