初心者用kotlin

kotlinのメモです。

593 views

copy

シャロ―コピー

C言語やってる人とか、おじさんは、アドレス参照と言ったほうがよいかも。

data class Book(var url:String, var name:String, var page:Int)

fun main(args:Array<String>) {
    var data1 = Book("http://www.osumoi.com", "supepepe", 1)
    var data2 = data1
    data1.name = "momomo"
    print(data2.name)
}

5行目でdata1とdata2が同じものになっている。そのため、6行目でdata1のnameを書き換えるとdata2のnameも書き換わって"momomo"が表示される。

ディープコピー

おじさんには値参照といえばいいか。

data class Book(var url:String, var name:String, var page:Int)

fun main(args:Array<String>) {
    var data1 = Book("http://www.osumoi.com", "supepepe", 1)
    var data2 = data1.copy()
    data1.name = "momomo"
    print(data2.name)
}

5行目でcopyを使う。すると、data1の複製がdata2にわたるため、6行目の変更はdata2に影響を与えず、"supepepe"が表示される。

Page 15 of 36.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626