You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin函数返回值类型不匹配问题咨询

Kotlin函数返回值类型不匹配问题咨询

嘿,我最近写Kotlin函数时碰到个挺费解的问题,来请教下大家!

先看这个简单的函数:

fun multiplyByTwo(x: Int): String {  // [1]
  println("Inside multiplyByTwo") // [2]
  var result = x * 2
  result = result.toString()
  return result
}

明明我最后把result转成了String类型,而且函数的返回值也明确声明成了String,但编译器还是提示我类型不匹配,这就让人很困惑了。

更奇怪的是,要是我把代码改成下面这种写法,就完全能正常运行:

var result = (x*2).toString()

可要是写成下面这种分开赋值的形式,就会报错:

var result = x * 2
result = result.toString()

这俩写法逻辑上看起来完全一样啊,为啥结果天差地别?感觉像是Kotlin或者Java底层的什么奇怪机制在搞鬼,实在摸不着头脑,有没有大佬能给我解释下?

备注:内容来源于stack exchange,提问作者Daniel Zmski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 09:44:36