有向量和DataOutputStream。我需要将向量中的字节(toArray返回Byte[])写到流中,但它只理解byte[]。如何将Byte[]转换为byte[]?
发布于 2011-06-22 03:28:16
您可以在Apache Commons lang库ArrayUtils类中使用toPrimitive方法吗?
发布于 2014-06-17 06:01:21
byte[] toPrimitives(Byte[] oBytes)
{
byte[] bytes = new byte[oBytes.length];
for(int i = 0; i < oBytes.length; i++) {
bytes[i] = oBytes[i];
}
return bytes;
}反转:
// byte[] to Byte[]
Byte[] toObjects(byte[] bytesPrim) {
Byte[] bytes = new Byte[bytesPrim.length];
int i = 0;
for (byte b : bytesPrim) bytes[i++] = b; // Autoboxing
return bytes;
}freeone3000在以下回答中做出了贡献:)
发布于 2011-06-22 16:10:41
Vector是一种低效的结构,你可以用它来存储字节。我会认真考虑使用更有效的行ByteArrayOutputStream,它有一个toByteArray()方法。也就是说,不仅要转换Vector,还要将其从代码中移除。
https://stackoverflow.com/questions/6430841
复制相似问题