2017-04-08 243 views
1

我想将长转换为数组字节。此代码块正在工作,但此解决方案是Java解决方案。我在斯卡拉寻找一个好的解决方案。我如何将Scala中的Long转换为数组字节?斯卡拉方式转换长ArrayByte

val arrayByteFromLong: Array[Byte] = ByteBuffer.allocate(8).putLong(myLong).array() 
+2

这对Scala来说也很好(我更喜欢Federico的回答)。一个例外是如果你正在寻找可以在Scala.js/Scala Native中工作的代码。 –

回答

1

您可以利用scala.math.BigInt

import scala.math.BigInt 

val arrayByteFromLong: Array[Byte] = BigInt(myLong).toByteArray 

如果你也想垫数组8Byte是你可以做的(快速和肮脏的不那么有效的版本):

arrayByteFromLong.reverse.padTo(8,0).reverse