kotlin: var和val的区别

一,区别

var

var 关键字用于声明一个可变的变量,即这个变量的值可以在程序运行过程中被改变。

val

val 关键字用于声明一个不可变的变量,即这个变量的值在初始化后不能被改变。

使用 val 声明的变量必须在声明时或者构造器中初始化,一旦初始化后,其值就不能被改变。

需要注意的地方:
val声明list时,虽然不可以重新赋值,但可以添加修改它的内部元素

val list = mutableListOf(1, 2, 3)  // list 是 val,不可重新赋值
list.add(4)                        // 允许!修改对象内部状态
println(list)                      // 输出 [1, 2, 3, 4]

list = mutableListOf()             // 编译错误!val 不可重新赋值

类的实例也可以同样操作,只要不是重新赋值就允许

        val goods1 = Goods1(3,"王富贵")
        println(goods1.name)
        //改变对象中的元素
        goods1.name = "赵四"
        println(goods1.name)

运行效果:

二,例子

private val fragmentList: MutableList<Fragment?> = ArrayList<Fragment?>() //fragment的列表
    private var vp_content: ViewPager2? = null //viewpager2

    private var bottomNavigationView: BottomNavigationView? = null //底部导航栏

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        this.enableEdgeToEdge()
        setContentView(R.layout.activity_bottom2)

        //填充viewpager2的内容

        //添加fragment到列表
        fragmentList.add(Cate1Fragment())
        fragmentList.add(Cate2Fragment())
        fragmentList.add(Cate3Fragment())

 

posted @ 2025-06-02 12:27  刘宏缔的架构森林  阅读(164)  评论(0)    收藏  举报