簡體   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