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())
浙公网安备 33010602011771号