Kotlin中基本类型以对象形式调用plus方法的执行流程解析
Kotlin中
3.5.plus(4)执行流程解析 我们一步步拆解这个操作的执行逻辑:
- 首先,
3.5是Kotlin的浮点数字面量,默认被解析为kotlin.Double类型的实例——Kotlin里没有Java那样的原始类型,所有数值都是对应包装类的对象。 - 其次,
plus是Double类中定义的成员函数,专门用于实现加法操作。当你传入参数4(kotlin.Int类型)时,Kotlin会自动完成类型转换:把Int类型的4转换为Double类型的4.0,这是因为Double的plus方法有重载支持接收Number类型的参数(Int是Number的子类),或者直接匹配接收Double参数的重载。 - 最后,函数内部执行
3.5 + 4.0的加法运算,得到结果7.5,类型保持为kotlin.Double。
额外补充:Kotlin的运算符重载特性让a + b等价于a.plus(b),所以3.5 + 4和你写的3.5.plus(4)是完全一样的执行逻辑,结果自然相同。
内容的提问来源于stack exchange,提问作者madhav
相关产品推荐
相关产品推荐

