美文网首页
val 和 var

val 和 var

作者: codergege | 来源:发表于2018-11-15 08:29 被阅读0次

回到目录
项目源码 kotlin-basics 项目
ValVarDemoTest 源码地址


Kotlin 中使用 val 和 var 关键字声明变量.

var 声明一个可变变量, 可以被重新赋值;

@SpringBootTest
class ValVarDemoTest {

    @Test fun testVar() {
        // 声明一个名为 oneVar 的 var 变量, 并赋值
        var oneVar = "codergege"
        // 做个断言测试
        assertEquals("codergege", oneVar)

        // 可以延迟赋值
        var anotherVar: String
        anotherVar = "kotlin"
        assertEquals("kotlin", anotherVar)

        // var 变量可以重新赋值
        anotherVar = "kotlin kotlin"
        assertEquals("kotlin kotlin", anotherVar)
    }

}

val 声明一个只读对象, 一旦初始化, 就无法改变它的值了!

val 变量本身的值是不可变的, 但是它的成员变量如果是 var 类型, 仍然可以改变.

可以这么理解, val 变量中存着一个对象的地址, 这个地址值是无法改变的. 该地址指向
堆内存, 内存中存放的内容是可以改变的.

    @Test fun testVal() {
        // 声明一个名为 oneVal 的 val 变量, 并初始化
        val oneVal = "codergege"
        assertEquals("codergege", oneVal)

        // val 变量也可以延迟初始化!
        val anotherVal: String
        anotherVal = "kotlin"
        assertEquals("kotlin", anotherVal)

        // val 一旦初始化, 就不可改变
        // anotherVal = "kotlin kotlin" // 编译不通过, 报错了

        // 演示内部成员是可变的
        val oneArray = intArrayOf(1, 2, 3, 4, 5)
        // oneArray = intArrayOf(7, 8, 9) // 编译不通过, 无法改变 val 变量的值
        // 但是内部成员是可变的
        oneArray[0] = 10
        assertEquals(10, oneArray[0])
    }

回到目录

相关文章

  • val 和 var

    回到目录项目源码 kotlin-basics 项目ValVarDemoTest 源码地址 Kotlin 中使用 v...

  • Kotlin 学习笔记

    var 和 val (Declaring Properties) val and var are the two...

  • Kotlin关键字用法大全

    var val var:同时有 getter 和 setter。val:只有 getter。val声明代表只读不...

  • Kontlin笔记

    var和val 可以理解为var声明变量,val声明常量。var是可读可修改,val只可读不可修改。init{}类...

  • Scala入门与进阶(二)- Scala入门

    1.val vs var val: 值 final val 值名称:类型 = xxx var: 变量 可变 var...

  • Kotlin

    fun关键字修饰方法var和val的区别:val:引用不可变,val声明的变量只能被赋值一次var:var声明局部...

  • kotlin速成之道:变量

    两种变量:val 和 var val: value, 只读,只能赋值一次 var: variable, 变量,可以...

  • kotlin(一)

    一、var和val用来定义变量。 var:可变变量 val:不可变变量 二、companion object(伴生...

  • Kotlin最基本用法

    val 和 var 的使用规则如果说 var 代表了 varible(变量),那么 val 可看成 value(值...

  • Kotlin 学习一

    一: val (常量) 和 var (变量) ① val 声明常量,只可以赋值一次。 var 声明变量,可以多次赋...

网友评论

      本文标题:val 和 var

      本文链接:https://www.haomeiwen.com/subject/pijefqtx.html