我知道在OCaml中,默认情况下不能更改变量的值。例如,我们不能执行以下操作: let a = 1;
a = 2; 为此,我们添加了关键字ref: let a = ref 1; a := 2; 然而,我不明白的是,我们不需要为Array这样做。我们可以更改数组的值,即使它的类型不是:ref 'a。例如,我可以这样做: let a = Array.create 3 0; a.(1) <- 2; 不会出现任何错误。那么,为什么我们可以<e
在用Java编写API时,返回某种类型的不可变集合时,可以从方法返回Collection (或List、Map等),或者返回番石榴的ImmutableCollection (或ImmutableList将返回值设置为ImmutableCollection将限制我永远使用这个确切的类型,这样我就不能在以后将_immutableMap替换为自己的不可变类型,返回的值是t an Immu