【问题标题】:Why variable of hashMap in Kotlin doesn't inherent the value?为什么 Kotlin 中的 hashMap 变量没有固有的值?
【发布时间】:2021-03-20 13:51:54
【问题描述】:

这是一个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 jumpYear = HashMap(ordinaryYear)

标签: android kotlin hashmap


【解决方案1】:

你可以通过

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

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

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 2022-12-06
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多