在Kotlin中声明字节会造成编译时错误'整数文字不符合期望的类型字节'
正如在0xFF0000FF中看到的另一个问题整数文字不符合预期的类型kotlin.Int
我声明值为0xFF作为字节
val b:Byte = 0xFF
接收整数文字不符合期望的类型字节编译错误
因为我有线索kotlin.Byte
是有符号的字节
如何在Kotlin中声明Byte与0x00
– 0xFF
无符号字节,就像.net Byte b = 0xFF
?
。
。
如果你想立即编译器进行测试和回答:
rextester , try.kotlinlang.org
Kotlin不会在数字类型之间自动转换。
如果你做val b:Byte = 0xFF.toByte()
那么它编译并生成一个值为-1
的字节。
如果要保存无符号的字节值,则需要将其存储为Char
,但需要将其转换为另一种类型以将其打印为数字:
val b = 0xFF.toChar() println(b.toInt())