见0xFF0000FF An integer literal does not conform to the expected type kotlin.Int
中的另一个问题我将值0xFF声明为Byte
val b:Byte = 0xFF
接收 整数文字不符合预期类型字节 编译错误
因为我知道kotlin.Byte
是有符号字节
如何使用0x00
- 0xFF
无符号字节在Kotlin中声明字节,就像.net Byte b = 0xFF
一样?
如果您想要即时编译器进行测试并回答:
答案 0 :(得分:10)
Kotlin不会在数字类型之间自动转换。
如果你执行val b:Byte = 0xFF.toByte()
,那么它会编译并生成一个值为-1
的字节。
如果要保留无符号字节值,则需要将其存储为Char
,但需要将其转换为其他类型以将其打印为数字:
val b = 0xFF.toChar()
println(b.toInt())