在Kotlin中声明字节会产生编译时错误'整数字面值不符合预期的字节Byte'

nyc*_*ing 9 kotlin

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

我将值0xFF声明为Byte

val b:Byte = 0xFF

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

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

如何在Kotlin中声明字节0x00- 0xFF无符号字节就像 一样Byte b = 0xFF

.

.

如果您想要即时编译器进行测试和回答:

rextester,try.kotlinlang.org

Kis*_*kae 12

Kotlin不会自动在数字类型之间进行转换.

如果你这样做,val b:Byte = 0xFF.toByte()它会编译并产生一个带有值的字节-1.

如果要保留无符号字节值,则需要将其存储为a Char,但是需要将其转换为其他类型以将其作为数字打印:

val b = 0xFF.toChar()
println(b.toInt())
Run Code Online (Sandbox Code Playgroud)