为什么 Kotlin 中 hashMap 的变量没有固有的值?

Why variable of hashMap in Kotlin doesn't inherent the value?

这是一个hashMap变量:

val ordinaryYear = hashMapOf(Pair("January", 31), Pair("February", 28), Pair("March", 31),
    Pair("April", 31), Pair("May", 31), Pair("June", 30), Pair("Jule", 31), Pair("August", 31),
    Pair("September", 30), Pair("October", 31), Pair("November", 30), Pair("December", 31))

我为闰年创建了新的二月。

var leapYear = ordinaryYear
    leapYear["February"] = 2999999
    println(leapYear["February"])
    println(ordinaryYear["February"])

如果我们 println() 两个变量我们可以看到相同的结果 - 2999999 - leapYearordinaryYear!

我们可以看到,为 February 添加新值改变了先前变量中 February 的值。如何在不改变原点的情况下创建新的 hashMap 变量?

提前致谢。

你可以通过

实现
    val leapYear = hashMapOf<String,Int>()
    leapYear.putAll(ordinaryYear)

在此处查看示例: https://pl.kotl.in/ehj24XiX3