我想得到固定8字节数组中“long”的字节数组值
scala> Long.MaxValue
res191: Long = 9223372036854775807
scala> val i:Long = Long.MaxValue
i: Long = 9223372036854775807
scala> BigInt(i).toByteArray
res192: Array[Byte] = Array(127, -1, -1, -1, -1, -1, -1, -1)
scala> val i:Long = 100
i: Long = 100
scala> BigInt(i).toByteArray
res193: Array[Byte] = Array(100) // what I want is Array(0, 0, 0, 0, 0, 0, 0, 100)
scala>
我要做的是
scala> var a:Array[Byte] = Array(0, 0, 0, 0, 0, 0, 0, 0)
a: Array[Byte] = Array(0, 0, 0, 0, 0, 0, 0, 0)
scala> a.slice(0,8-BigInt(i).toByteArray.length) ++ BigInt(i).toByteArray
res200: Array[Byte] = Array(0, 0, 0, 0, 0, 0, 0, 100)
scala>
我不确定它是否结实。有更好的方法吗?