通过构建器类型推断(Builder Type Inference)使用构建器

最终更新: 2025/02/06

Kotlin 支持 构建器类型推断(Builder Type Inference) (或者叫构建器推断), 当你使用泛型构建器时, 这个功能可以很有用. 它能够帮助编译器, 通过构建器的 Lambda 表达式参数内的其它调用的类型信息, 推断出构建器调用的类型参数.

请参考下面的示例程序中对 buildMap() 的使用:

这里没有足够的类型信息来通过通常的方式推断类型参数, 但构建器推断能够分析 Lambda 表达式参数内的函数调用. 根据 putAll()put() 调用的类型信息, 编译器可以自动将 buildMap() 调用的类型参数推断为 StringNumber. 使用泛型构建器时, 构建器推断功能允许我们省略类型参数.