Scala中的Bool到Byte

Scala中的Bool到Byte,scala,Scala,我有一个布尔变量,它的值为true,我想把它转换成byte 最好的方法是什么 val bool=true 我想要scala中变量bool的字节类型和字节值 我想你可以这样做: val bool = true val booleanToByte = (b: Boolean) => (if (b) 1 else 0).toByte val byteValue = booleanToByte(bool) 如果您希望代码< >字节 > />代码> BOOL值,您可以选择使用隐式转换(但它是不安全

我有一个布尔变量,它的值为true,我想把它转换成byte

最好的方法是什么

val bool=true


我想要scala中变量bool的字节类型和字节值

我想你可以这样做:

val bool = true
val booleanToByte = (b: Boolean) => (if (b) 1 else 0).toByte
val byteValue = booleanToByte(bool)

如果您希望代码< >字节 > />代码> BOOL值,您可以选择使用隐式转换(但它是不安全的考虑)

菊石:

@ implicit def asBool(src: Byte): Boolean = src > 0 
defined function asBool
@ implicit def asByte(src: Boolean): Byte = if (src) 1 else 0 
defined function asByte
@ val xxx: Byte = true 
xxx: Byte = 1
@ val yyy: Boolean = 0.toByte 
yyy: Boolean = false
这也适用于以下功能:

@ def takeByte(x: Byte): Byte = x 
defined function takeByte
@ takeByte(false) 
res8: Byte = 0
@ takeByte(true) 
res9: Byte = 1
希望有帮助

@ def takeByte(x: Byte): Byte = x 
defined function takeByte
@ takeByte(false) 
res8: Byte = 0
@ takeByte(true) 
res9: Byte = 1