android - Kotlin:无法重新分配 LatLng 的纬度/经度
问题描述
假设我有 2 个LatLng
变量。
lateinit var mLatLng1:LatLng
lateinit var mLatLng2:LatLng
假设它们都已经被初始化为一些值。
如果我试试这个:
mLatLng1 = mLatLng2
它按预期工作。但是,当我尝试这个时:
mLatLng1.latitude = mLatLng2.latitude
我收到一个错误:
无法重新分配 Val
如果我的mLatLng1
变量是 type var
,那么为什么会出现此错误?
解决方案
如果我的 mLatLng1 变量是 var 类型,那么为什么会出现此错误?
因为您没有将某些内容分配给mLatLng1
. 那将是:
mLatLng1 = LatLng(45.0, 123.0)
相反,您正在这样做:
mLatLng1.latitude = mLatLng2.latitude
这是试图更新 mLatLng1
. 而且,如果您的对象是thisLatLng
,那么这些字段是final
,在 Kotlin 中映射到val
.
推荐阅读
- python - 使用共享轴创建一个 2x2 的 python seaborn 热图网格
- javascript - React - 调用子级时在父级中调用 setState
- c# - 为什么兔子出奇的慢?
- java - 在 Akka Actor 的静态上下文中使用记录器
- javascript - Webpack 多文件入口包
- python - 通过c(debian)在终端中运行python模块
- java - 使用 java 程序从一个子模块的 Maven 安装阶段到另一个子模块
- sqlite - 离子 Sqlite 不在 chrome 上运行
- java - Kafka Streams:商店尚未准备好
- r - 使用 r-script 将 JSON 从 NodeJS 传递到 R