当前位置: 首页 > news >正文

kotlin学习,val使用get()的问题

疑问:定义val怎么还能使用get()

代码示例:

private val nametype:Int

get()=Business.carInfo?.let{carSc(it)}?:LType.AS

回答:Kotlin 允许为属性定义自定义 getter,每次访问属性时会执行该方法

疑问:这里引出另一个不解,为什么使用val,却可以更改赋值?

虽然 val 被称为 “只读” 或 “不可变”,但它的具体含义需要结合上下文理解:

val 的本质

  • val ≠ 常量:val 保证的是引用不可变(类似 Java 的 final 变量),但对象内容可以变

这种写法的意义?

适用于需要动态计算但不希望外部修改的场景(如缓存、懒加载)。

若需要真正的常量(编译时确定且不可变),使用 const val

加深理解代码示例

http://www.lryc.cn/news/583128.html

相关文章:

  • AI 知识库 2.0 时代!2025 设备管理系统如何实现 “智慧运维”?
  • Docker完全指南:从入门到生产环境实战
  • 将.net应用部署到Linux服务器
  • 深入解析 .NET 泛型:从原理到实战优化
  • Docker 搭建 Harbor 私有仓库
  • 使用 Docker 搭建 Go Web 应用开发环境——AI教你学Docker
  • mac m1安装大模型工具vllm
  • Vue的watch和React的useEffect
  • “AI 曼哈顿计划”:科技竞赛还是人类挑战?
  • 电商销量第一,贝锐向日葵智能远控硬件背后的软硬结合战略
  • Mac mini 高性价比扩容 + Crossover 游戏实测 全流程手册
  • Python-FAQ-单例模式
  • 深入理解图像二值化:从静态图像到视频流实时处理
  • 一天两道力扣(3)
  • 计蒜客T3473丑数、Leetcode2401最长优雅子数组、Leetcode167两数之和、Leetcode581最短无序连续子数组
  • 开源链动2+1模式与AI智能名片融合下的S2B2C商城小程序源码:重构大零售时代新生态
  • 【工具】Pycharm隐藏文件类型或目录
  • Hive MetaStore的实现和优化
  • AI+智慧园区 | 事件处置自动化——大模型重构园区治理逻辑
  • 向量空间 线性代数
  • 两张图片对比clip功能
  • 在 PyCharm 中安装并配置 Node.js 的指南
  • 整合Spring、Spring MVC与MyBatis:构建高效Java Web应用
  • Linux的 `test`命令(或等价中括号写法 `[空格expression空格]`)的用法详解. 笔记250709
  • 自制明信片DIY:让心意更有温度
  • python Gui界面小白入门学习
  • OpenCV图像增强秘籍:高通滤波与特效艺术
  • 学习open62541 --- [79] 在docker中运行open62541工程
  • SpringCloud系列 - xxl-job 分布式任务调度 (七)
  • Docker高级管理