java中的字节数组
有人能解释一下当字符串转换成字节数组时会发生什么情况吗?它会发生什么情况?我如何向这个字节数组添加更多字符串java中的字节数组,java,string,bytearray,byte,Java,String,Bytearray,Byte,有人能解释一下当字符串转换成字节数组时会发生什么情况吗?它会发生什么情况?我如何向这个字节数组添加更多字符串 例如:火箭很有趣。当字符串转换为字节数组时,它只需接受每个字符(通常为1个字节),并通过简单的强制转换(或其他编码,可能意味着每个字符2个字节,但我将坚持使用简单的ASCII示例)将其转换为ASCII文本值。实际上,您不能向该数组添加任何内容,因为数组只调整一次大小,要调整大小,您必须将该数组复制到一个更大的数组中,然后插入其中。如果你想串接字符串,只需对字符串使用+=和+运算符,这对你
例如:火箭很有趣。当字符串转换为字节数组时,它只需接受每个字符(通常为1个字节),并通过简单的强制转换(或其他编码,可能意味着每个字符2个字节,但我将坚持使用简单的ASCII示例)将其转换为ASCII文本值。实际上,您不能向该数组添加任何内容,因为数组只调整一次大小,要调整大小,您必须将该数组复制到一个更大的数组中,然后插入其中。如果你想串接字符串,只需对字符串使用+=和+运算符,这对你或StringBuilder(或StringBuffer,我忘了它在Java中是什么)如果您需要进行大量的追加,因为每次追加都会创建新的不可变字符串,如果进行了大量追加,成本会非常高。我认为前面的文章很好地介绍了字符串在16位与8位表示形式方面的变化。问题的后半部分是关于增加字节数组的,通常使用System.arraycopy(src、srcPos、dest、destPos、length)执行
在转换成字节数组后,您能给我看一个字符串示例吗?我需要看看它的内容才能理解
String str="Rockets are fun.";
byte[] ba=str.getBytes();
byte[] bigger=new byte[23];
System.arraycopy(ba, 0, bigger, 0, ba.length);
byte[] toFly=" to fly.".getBytes();
System.arraycopy(toFly, 0, bigger, 15, toFly.length);
System.out.println(new String(bigger, "UTF-8"));