Kotlin の val と var の違い

Kailash Vaviya 2022年7月12日
Kotlin の val と var の違い

Kotlin では、valvar の 2つの変数型を宣言できます。この記事では、この 2つの違いについて説明します。

両方のキーワードは変数を宣言するために使用されますが、それらの間にはいくつかの重要な違いがあります。

Kotlin の valvar の違い

val プロパティと var プロパティの最も重要な違いは、前者は不変であるということです。var 変数の値を変更することはできますが、val 変数の値を変更することはできません。

これらは、Java の final キーワードに似ています。val 変数と var 変数のその他の違いは次のとおりです。

  1. var 変数は複数回割り当てることができますが、val 変数は 1 回だけ割り当てることができます。
  2. var 変数は再割り当てできますが、val 変数は再割り当てできません。

valvar の違いがわかったので、それらの値を変更しようとするいくつかの例を見てみましょう。

Kotlin で var キーワードを使用する

この例では、var キーワードを使用して変数を宣言し、その値を変更しようとします。

var v = "Hello!"

fun main() {
    println("This is a var variable: "+v);

    // Changing the value of var variable
    v = "Welcome!";
    println("New value of the var variable is: " +v);
}

出力:

var 変数の例

上記のサンプルコードのデモを確認するには、ここをクリックをクリックしてください。

Kotlin で val キーワードを使用する

ここでは、val キーワードを使用して不変変数を作成し、その値を変更してみます。

val v = "Hello!"

fun main() {
    println("This is a val variable: "+v);

    // Changing the value of val variable
    v = "Welcome!";
    println("New value of the val variable is: " +v);
}

出力:

val 変数の例

出力からわかるように、val 変数を変更するとエラーがスローされます:Val を再割り当てできません

サンプルコードのデモを確認するには、ここをクリックをクリックしてください。

Kotlin の val 変数のプロパティを変更する

val キーワードを使用して宣言された変数の値を変更することはできませんが、それらのプロパティを変更することはできます。val を使用して変数を宣言し、そのプロパティを変更する例を見てみましょう。

fun main(args: Array<String>) {
    val student = Student("David Shaw",1)
    print(student)
    student.name = "Joe Smith"
    print("\n"+student)
}

data class Student(var name: String = "", var id: Int = 0)

出力:

val プロパティの変更例

ご覧のとおり、val 変数のプロパティは変更可能です。

サンプルコードのデモを確認するには、ここをクリックをクリックしてください。

著者: Kailash Vaviya
Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn

関連記事 - Kotlin Keyword