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

Kotlin 内部类默认静态 Elvis 操作符

Kotlin 内部类

默认静态内部类

在 Kotlin 中,你直接在一个类里写另一个类,它默认就是静态的。
它不持有外部类的引用

调用方便: * 外部调用: Outer.Inner()。直接 new(当然kotlin没有这个关键字),不需要先创建外部类对象

它拿不到外部类的 this(实例变量),只能访问外部类的静态成员(companion object 里的东西)

不完全是静态的,加了@JvmStatic才会生成一样的静态的字节码

而且都这样了,为什么不直接写外面,非要写个内部类

非静态内部类 (需加 inner 关键字)

它会持有一个指向外部类的引用(this@Outer)

如果内部类在跑耗时任务,外部 Activity 关了也跑不掉,内存直接炸

特权: 它可以随意访问外部类的所有私有变量。

调用麻烦

val o = Outer()
o.Inner()

实际上,这种拓展功能的东西,应该用接口写

Elvis 操作符 (?: )

这个操作符的名字来源于它的形状像猫王 ~(Elvis Presley~ 听起来像榴莲 的侧脸发型

用法

Kotlin
val result = 可能为空的变量 ?: 默认值

val result = A ?: B。如果 A 不为 null,则 result = A;如果 A 为 null,则 result = B。

如果左边不是null返回左边

如果左边是null返回右边

配合返回/抛错: ```kotlin
val name = user.name ?: return false // 如果没名字就直接退出方法
val id = user.id ?: throw IllegalArgumentException("Missing ID") // 没 ID 就报错

http://www.jsqmd.com/news/679261/

相关文章:

  • 别再傻傻用乘除了!C/C++里用移位操作给代码提速(附性能对比测试)
  • 2026年4月贵州借款合同纠纷处理团队综合实力Top3推荐 - 2026年企业推荐榜
  • 现在不掌握Docker跨架构构建,2025年将无法交付IoT/边缘/AI推理应用——3个已落地客户架构迁移失败复盘与48小时重建路径
  • Microsoft Agent Framework 智能体调用工具
  • 亲测5个英文论文降AI方法,AIGC率终于从95%掉到了8%
  • 2026年第二季度:五家**钨丝回收服务商深度测评与战略选择指南 - 2026年企业推荐榜
  • 告别‘Could not get version from cmake.dir’:Android NDK配置从混乱到清晰的保姆级指南
  • 3天从零掌握《经济研究》LaTeX排版:让学术论文格式不再是你的绊脚石
  • RK3588音频子系统DTS配置避坑:为什么你的ES8388声卡没声音?
  • 微搭低代码MBA 培训管理系统实战 32——资料管理功能
  • 信息论安全多方计算协议突破
  • 深度学习与智能卡融合的多因素认证技术解析
  • 别再搞混了!OpenLayers中Feature与Layer的交互指南(附封装函数)
  • 告别玄学连接:用HC蓝牙助手和串口工具,彻底搞定HC-08主从机配置与状态切换
  • 用TL494和INA282做个10A大电流可调恒流源:从BUCK电路设计到PCB布局避坑全记录
  • FPGA跨时钟域信号处理:从亚稳态到两级同步的实战避坑指南
  • LT8619C芯片深度评测:对比其他方案,在智能投影仪里用它到底香不香?
  • 科研图表与公式的字体规范:从变量、向量到特殊符号的视觉语法
  • Chiplet技术与AI加速器的模块化设计实践
  • 3分钟高效解决Windows平台ADB驱动安装难题:自动化工具完全指南
  • 2026原厂原子灰优质厂商推荐指南:原厂原子灰/工业原子灰/机械原子灰/电泳底原子灰/高端原子灰/高级原子灰/修补原子灰/选择指南 - 优质品牌商家
  • 流重组技术深度解析:如何将碎片化媒体缓存重构为完整播放体验
  • AE视频后期自动化:OWL ADVENTURE智能分析视频片段并应用特效模板
  • 机械转行自学嵌入式,我用正点原子IMX6ULL复刻了一个智能仓储项目(附完整代码)
  • 别再硬啃官方文档了!手把手教你用CodeSys V3.5.19.60的Extension SDK封装C++代码(附OpenCV集成实战)
  • 别再问5G打电话为啥会掉4G了!一文讲透VoNR、EPS Fallback和VoLTE的区别与演进
  • 如何利用bili2text将B站视频智能转换为可编辑文字稿
  • 低成本3D生物打印机DIY:从设计到实现的完整指南
  • 如何评估一个 Agent 好不好用?构建多维度的 Agent 能力评估指标体系
  • 熬夜乱改全白费!实测英文论文降AI避坑思路,5步教你把AIGC率压到8%