下面的代码给出了以下错误。
错误:类型不匹配:推断类型是kotlin.Int但是kotlin.Byte是预期的
var temp: Byte = 0
var temp2: Byte = 1
temp += temp2
在kotlin中有没有办法解决这个问题,或者我不允许在Byte中使用+ =或 - =运算符?对于Long和Int,加上等于是否重载,而不是Byte和Short?
答案 0 :(得分:3)
根据kotlin docs字节的加/减操作与其他字节将导致Int。因此,虽然您认为这很奇怪,但尝试将值为255的Byte添加到其他字节为255的情况下;)
我认为他们是故意的。如果您确定结果仍然在字节范围内,那么只需使用Int.toByte()和计算结束。