使用加等于运算符和字节

时间:2016-05-14 18:03:27

标签: kotlin

下面的代码给出了以下错误。

错误:类型不匹配:推断类型是kotlin.Int但是kotlin.Byte是预期的

var temp: Byte = 0
var temp2: Byte = 1
temp += temp2

在kotlin中有没有办法解决这个问题,或者我不允许在Byte中使用+ =或 - =运算符?对于Long和Int,加上等于是否重载,而不是Byte和Short?

1 个答案:

答案 0 :(得分:3)

根据kotlin docs字节的加/减操作与其他字节将导致Int。因此,虽然您认为这很奇怪,但尝试将值为255的Byte添加到其他字节为255的情况下;)

我认为他们是故意的。如果您确定结果仍然在字节范围内,那么只需使用Int.toByte()和计算结束。