java - 分配给Java中的字节数组

标签 java arrays variable-assignment

我有一个字节数组,我想分配如下:

  • 第一个字节指定字符串的长度:(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());

尽管像其他人建议的那样使用 ByteArrayOutputStreamByteBuffer 之类的东西可能是一种更清洁的方法,从长远来看对您来说会更好:-)

关于java - 分配给Java中的字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4619182/

相关文章:

java - 什么是多项式的次数 f(n) = n/20

结构中的 C 2 维字符

java - 在 java 中从字符串数组中返回带有符号的单词?

javascript - 二维数组和自动完成

javascript - 使用随机/数组生成的坐标创建 Canvas 线。不工作,为什么?

arrays - C 数组的奇怪行为

bash - 检查应用程序是否正在运行的脚本;如果没有,启动它

Java Socket 连接仅在 Debug模式下有效

java - 在本地运行,但不在服务器上运行,因为 "Data source name not found and no default driver specified"

java - 无法从 Java 执行文件