Tag: 式推理

在Kotlin中使用延迟初始化和通用工厂方法进行推理

我有一个工厂方法,产生一些列表: inline fun getObject(fileName: String): List 工厂方法应该用于这样的延迟初始化: val points: List by lazy { ObjectFactory.getObject(pointsFileName) } 现在,Kotlin编译器显然没有足够的lambda内的types信息和抱怨: Type inference failed: Not enough information to infer parameter T in inline fun getObject(fileName: String): List Please specify it explicitly. 编译器不考虑延迟初始化的结果将被分配的types。 我可以通过在本地提供types来解决这个问题,但这并不美观: val points by lazy { val pointsToCommunicateType: List = ObjectFactory.getObject(pointsFileName) pointsToCommunicateType } 什么是正确的方法来做到这一点?