Kotlin

首页 标签 Kotlin
# Kotlin #
关注
2984内容
|
14天前
| |
第059篇 建造者模式:链式调用为何无处不用在哪些地方
建造者模式核心是**将复杂对象的创建过程外置、分步可控、集中校验**。它解决参数过多、互斥依赖、分步初始化问题,关键在于:私有构造、链式setter、build()统一校验、产物不可变(final+防御拷贝)、默认值内聚于Builder——非仅为语法糖,而是工程化构造控制。
|
14天前
| |
第074篇 区间与遍历:until、downTo 与 step
Kotlin区间与遍历深度解析:`1..10` 创建`IntRange`对象(有内存开销),而`until`/`downTo`/`step`等被编译器优化为零对象计数循环;推荐`0 until size`替代`0..size-1`,避免空集合越界;`downTo`需显式`step -1`防死循环;区间仅用于索引,勿`map`/`filter`滥用。
|
14天前
| |
第071篇 顶层函数与属性:为什么不再需要 Utils 类
Kotlin顶层函数/属性是“语法糖”,编译后归入以文件名命名的静态文件类(如`StringsKt`)。`@file:JvmName`可自定义Java调用类名,`@JvmField`使属性变为真正静态字段,`const val`为编译期常量。核心原则:顶层只放无状态纯函数;可变状态须收敛至`object`,确保修改点可控。
|
14天前
| |
第064篇 空安全入门:?、!! 与 ?. 的三分天下
Kotlin空安全是编译期类型契约:`T`与`T?`本质不同。`?.`链式短路不求值,`?:`右值懒执行,`?.let`中`it`为非空类型,`!!`仅限框架保证场景。核心原则——null是需显式处理的分支,可空性应在数据入口收敛。
|
14天前
| |
第076篇 集合三大类与只读可变两套体系
Kotlin集合分List/Set/Map三组,各含只读与可变类型(共6种)。关键在于:“只读”是类型约束(禁止调用修改方法),≠“不可变”(底层数据仍可能被改)。`listOf()`返回真不可变实现,安全共享;而`asList()`是活视图,需警惕副作用。工程中应坚持“内部可变、对外只读+`toList()`拷贝”。
|
14天前
| |
第053篇 Lambda 与函数式接口:Android 开发的日常语法
本文深入剖析Java Lambda与函数式接口的本质:从匿名内部类演进而来,依托`invokedynamic`与`LambdaMetafactory`实现运行时链接;详解四大核心接口(`Function`/`Consumer`/`Supplier`/`Predicate`)、捕获语义、泛型擦除及Android兼容坑点,强调“行为参数化”思想而非语法糖。
|
14天前
| |
第055篇 Optional 与空值处理:比判空更优雅的表达
`Optional<T>` 是 Java 8 引入的容器类,核心价值是**将“可能为空”显式表达在类型中**,提升空安全与可读性。仅限用作**方法返回值**,禁用于字段、参数及高频路径;需搭配 `ofNullable`、`map`/`flatMap`、`orElseGet` 等规范使用,避免序列化、性能与语义陷阱。
|
14天前
| |
第065篇 Elvis 运算符与 let:空值处理的组合拳
Kotlin 中 `?:`(Elvis)与 `let` 是被低估却极富表现力的空安全利器:`?:` 是懒求值表达式,专用于优雅兜底或提前返回;`let` 是内联作用域函数,在非空时以参数形式安全处理值。二者常组合为 `x?.let { ... } ?: default`,将“有则处理、无则兜底”升华为可组合、可读、零开销的声明式逻辑。关键在理解求值时机与意图选型——缺失用 `?:`,非空处理用 `let`,状态语义复杂时请用 sealed class 显式建模。
|
14天前
| |
第075篇 when 表达式:比 switch 强在哪里
Kotlin 的 `when` 是强大表达式,远超 Java `switch`:支持值、区间、类型、集合、任意条件五种分支;具备智能转换、顺序匹配、穷举检查(对 sealed/enum 编译期报错);作为表达式需覆盖所有路径,慎用空 `else`。核心价值:将分支逻辑结构化、可赋值、可审查。
|
14天前
| |
第061篇 Kotlin 与 Java 的关系:同一 JVM 上的两门语言
Kotlin与Java互操作≠对称兼容!核心差异在混编边界:平台类型致空安全失效、`internal`编译为public、默认参数需`@JvmOverloads`、data class字段private final使Gson反序列化失配。真功夫在收尾——注解规范、ProGuard保留元数据、协程作用域管控。
免费试用