2017-04-08 2 views
1

Long을 배열 바이트로 변환하려고합니다. 이 코드 블록은 작동하지만이 솔루션은 Java 솔루션입니다. 나는 스칼라에서 좋은 해결책을 찾고있다. 스칼라 방식으로 Long을 배열 바이트로 변환하려면 어떻게해야합니까?ArrayByte를 long으로 변환하는 스칼라 방법

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

스칼라도 완벽하게 괜찮습니다 (Federico 's 대답). 한 가지 예외는 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 
관련 문제