2017-04-08 242 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