在Kotlin中声明字节会造成编译时错误'整数文字不符合期望的类型字节'

正如在0xFF0000FF中看到的另一个问题整数文字不符合预期的类型kotlin.Int

我声明值为0xFF作为字节

val b:Byte = 0xFF

接收整数文字不符合期望的类型字节编译错误

因为我有线索kotlin.Byte 是有符号的字节

如何在Kotlin中声明Byte与0x000xFF无符号字节,就像.net Byte b = 0xFF

如果你想立即编译器进行测试和回答:

rextester , try.kotlinlang.org

Kotlin不会在数字类型之间自动转换。

如果你做val b:Byte = 0xFF.toByte()那么它编译并生成一个值为-1的字节。

如果要保存无符号的字节值,则需要将其存储为Char ,但需要将其转换为另一种类型以将其打印为数字:

 val b = 0xFF.toChar() println(b.toInt())