Kotlin代码无输出问题排查:疑因对象调用异常导致
代码无输出的原因及修复方案
核心问题
- 你在
main函数里定义了printCar函数,但完全没调用这个函数,也没创建Car类的实例,根本没触发任何输出逻辑。 - 附带小问题:
Car类的构造函数写法多余,Kotlin里可以简化;printCar的参数car是非空类型,用car?.doors的安全调用没必要,直接写car.doors就行。
修复后的完整代码
class Car { var doors: Int = 2 // 省略冗余的空构造函数声明,Kotlin默认提供无参构造 } fun main(args: Array<String>) { fun printCar(car: Car) { println(car.doors) val isCoupe = car.let { it.doors <= 2 } if (isCoupe) { // 无需和true比较,直接使用布尔值判断 println("Coupes are awesome") } else { println("not coupes") } } // 关键操作:创建Car实例并调用printCar函数触发输出 val myCar = Car() printCar(myCar) }
修复说明
- 简化
Car类定义,去掉不必要的空构造函数声明 - 移除冗余的安全调用符
?.和布尔值与true的多余比较 - 新增
Car实例创建与printCar函数调用,这是触发输出的核心步骤
内容的提问来源于stack exchange,提问作者Hayan Ibrahim
相关产品推荐
相关产品推荐

