为什么这会导致IntelliJ说出Cannot resolve symbol +=
var num: Int = 1
num += if (true) 1 else 2
这会导致Cannot resolve symbol +
var num: Int = 1
num = num + if (true) 1 else 2
但这样可以吗?
var num: Int = 1
num += 2
如何将非硬编码值添加到现有的int变量?
(也不适用于val num
)
答案 0 :(得分:6)
您需要在大括号中包含if-else
语句:
num += (if (true) 1 else 2)
否则Scala编译器会尝试将第一个令牌(if
)解释为Int
,但它是String
,因此编译失败。