假设我有2个LatLng
变量。
lateinit var mLatLng1:LatLng
lateinit var mLatLng2:LatLng
假设它们都已经被初始化为某些值。
如果我尝试这样做:
mLatLng1 = mLatLng2
它按预期工作。但是,当我尝试这样做:
mLatLng1.latitude = mLatLng2.latitude
我收到一个错误:
Val无法重新分配
如果我的
mLatLng1
变量的类型为var
,那么为什么会出现此错误? 最佳答案
如果我的mLatLng1变量的类型为var,那么为什么会出现此错误?
因为您没有为mLatLng1
分配任何内容。那将是:
mLatLng1 = LatLng(45.0, 123.0)
相反,您正在这样做:
mLatLng1.latitude = mLatLng2.latitude
这试图更新
mLatLng1
中的字段。并且,如果您的对象是this LatLng
,则这些字段是final
,在Kotlin中将其映射到val
。