Kotlin学习笔记const val与val的区别
Kotlin 中的const val和val是两个看似相似但有些不同的概念。简单来说,const val必须修饰val,且它只能出现在顶层或者object中。使用const val时,变量在编译时就能确定值,因此它的值是不可变的,并且编译器会将它优化成常量。
val则是声明一个只读变量,它的值在运行时才能确定。虽然val也具有不可变性,但它并不要求在编译期确定值,适合用于一些在运行时才会计算的场景。
举个例子,如果你要在顶层声明一个常量,应该使用const val,如:
const val THOUSAND = 1000
但如果你在类内部的companion object中声明常量,就得用到const val,像这样:
companion object Factory {
const val constNameCompanionObject = "value"
}
总结一下,const val更适用于顶层和object中,确保常量在编译期就能确定,而val则是用来声明普通只读变量,适合在运行时确定值的场景。
51.27KB
文件大小:
评论区