Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的字节数组_Java_String_Bytearray_Byte - Fatal编程技术网

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"));