在Java中将ArrayList<JsonArray>
转换为byte []的最佳方法是什么?
我尝试了myJsonArrayList.toString().getBytes()
,但检查值(返回ArrayList<JsonArray>
)是不同的。
JsonArray
中包含的值为float[]
。
答案 0 :(得分:0)
在阅读本文之前,请注意我认为提问者正试图将float[]
的{{1}}转换为JsonArray
s。 < / p>
第1步:创建byte[]
个ArrayList
数组。请注意,byte
是合法类型,因此您不需要使用包装器byte[]
的数组。
java.lang.Byte
第2步:输入ArrayList<byte[]> byteArrays = new ArrayList<>();
每个循环遍历for
(假设您的ArrayList<JsonArray>
被称为ArrayList<JsonArray>
)。< / p>
jsonArrays
第3步:在循环中,执行以下注释中解释的内容:
for (JsonArray jsonArray : jsonArrays) { // P.S This is the outer loop
第4步:将float[] floats = jsonArray.getFloats(); // Get the float[] located in jsonArray
byte[] bytes = new byte[floats.length]; // Create a byte[] that has the exact same length with the above float[]
for (int index = 0; index < bytes.length; index++)
bytes[index] = (byte) floats[index]; // Cast the float values to byte values
byteArrays.add(bytes); // Put the byte array to byteArrays
} // This is where the outer loop ends
转换为byteArrays
,换句话说,转换为byte[][]
数组的数组。
byte
Aaaaaaa已经完成了!
现在让我们把它们放在一起:
byte[][] values = byteArrays.toArray();