Scala中Java对象的不变性

Bun*_*der 1 java scala

为什么这个

import java.util.HashMap 
val hm = new HashMap[String, String]()
hm.put("hello", "bye")
hm.get("hello")
// res1: String = bye
Run Code Online (Sandbox Code Playgroud)

即使hm被认为是不可变的,也不会造成任何问题.我错过了什么?

提前致谢

Ser*_*Ten 9

看起来你混淆了变量hm的可变性和变量所持有的映射的可变性,这是不同的.val hm意味着您不能分配hm给任何其他HashMap,而不能分配HashMap(如@nmat和@puhlen所解释的那样).