繁体   English   中英

为什么 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM