我有一个字节数组,我想分配如下:
- 第一个字节指定字符串的长度:
(byte)string.length()
- 第二个 - 最后一个字节包含来自
string.getBytes()
的字符串数据
除了使用 for 循环之外,有没有一种快速的方法可以使用来自两个不同变量的字节来初始化字节数组?
最佳答案
您可以使用 System.arrayCopy()
来复制您的字节:
String x = "xx";
byte[] out = new byte[x.getBytes().length()+1];
out[0] = (byte) (0xFF & x.getBytes().length());
System.arraycopy(x.getBytes(), 0, out, 1, x.length());
尽管像其他人建议的那样使用 ByteArrayOutputStream
或 ByteBuffer
之类的东西可能是一种更清洁的方法,从长远来看对您来说会更好:-)
关于java - 分配给Java中的字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4619182/